/* États de personnage : les images sont toutes choisies par l’éditeur. */
.companion-card .companion-avatar{width:100%;height:112px;max-width:140px;margin:auto}
.companion-avatar{display:flex;align-items:center;justify-content:center;flex:none;width:62px;height:62px;background:#edf0f7;color:#6d768d;border:1px solid #e4e8f1;border-radius:17px;text-align:center;overflow:hidden;font-size:.65rem;padding:5px}
.companion-avatar img,.companion-avatar video{width:100%;height:100%;object-fit:contain}
.companion-window{--companion-tint:#f1eeff;background:#fff;border:1px solid #e1ddf2;border-radius:24px;box-shadow:0 20px 60px #23355925;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.companion-window[data-theme=sky]{--companion-tint:#e6f3ff}.companion-window[data-theme=peach]{--companion-tint:#fff0e2}
.companion-page{max-width:900px;margin:0 auto}.companion-page>p{margin-bottom:20px}.companion-page .companion-window{height:640px;max-height:80dvh;min-height:440px}
.companion-overlay{position:fixed;right:22px;bottom:22px;z-index:150;width:min(430px,calc(100vw - 30px));height:min(690px,calc(100dvh - 100px));max-height:calc(100dvh - 20px)}
.companion-head{display:flex;align-items:center;gap:12px;padding:15px;background:var(--companion-tint)}
.companion-head h2{font-size:1.18rem;margin:0 0 2px}.companion-head p{font-size:.72rem;margin:0}.companion-controls{display:flex;margin-left:auto;gap:3px}.companion-controls button{padding:2px;min-width:34px;min-height:38px;background:transparent;border:0;font-size:1.25rem}
.companion-messages{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:80px;padding:17px;display:flex;flex-direction:column;gap:13px}
.companion-message{align-self:flex-start;background:var(--companion-tint);padding:13px 15px;border-radius:18px 18px 18px 4px;max-width:94%;font-size:.86rem;line-height:1.5;overflow-wrap:anywhere;flex-shrink:0}
.companion-message p{margin:0;white-space:pre-line}.companion-message.from-reader{background:#eaf4ff;align-self:flex-end;border-radius:18px 18px 4px 18px}.companion-books{display:grid;gap:8px;margin-top:12px}.companion-books button{text-align:left;font-size:.8rem;white-space:normal}
.companion-quick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 15px;max-height:132px;overflow-y:auto}.companion-quick button{font-size:.72rem;min-height:38px;padding:7px 11px;border-color:#e0daff;color:#5543b6}
.companion-form{display:flex;gap:8px;padding:7px 15px;flex-wrap:wrap}.companion-form input{flex:1;min-width:90px;width:0;border-radius:14px;background:#f8f9fd;font-size:1rem;min-height:44px}.companion-form button{font-size:.78rem;padding:8px 12px}.companion-kind-note{font-size:.66rem;color:#788299;line-height:1.4;padding:0 17px 12px;margin:0}.companion-stream{padding:10px 17px;max-height:200px;overflow:auto;white-space:pre-line}
.companion-advanced{font-size:.75rem;align-self:center;margin:0 10px 12px}.companion-open{overflow:hidden!important}#companion-reopen{position:fixed;right:20px;bottom:22px;z-index:65;box-shadow:0 6px 20px #4035a42b}
.companion-memories{list-style:none;margin:12px 0;padding:0;max-height:230px;overflow:auto}.companion-memories li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #edf0f7;font-size:.8rem}.companion-memories button{font-size:.72rem}
[data-motion=yes] .companion-avatar[data-state=happy],[data-motion=yes] .companion-avatar[data-state=celebrating]{animation:companion-bob .55s ease-out 2}
[data-motion=yes] .companion-avatar[data-state=thinking]{animation:companion-think 1.4s ease-in-out 2}.companion-avatar[data-state=reading]{border-color:#78bda4}.companion-avatar[data-state=helping]{border-color:#b6a4fa}.companion-avatar[data-state=listening]{border-color:#80bdde}.companion-avatar[data-state=surprised]{box-shadow:0 0 0 3px #fff0ba}.companion-avatar[data-state=idle]{transform:none}
@keyframes companion-bob{50%{transform:translateY(-3px) rotate(-2deg)}}@keyframes companion-think{50%{opacity:.7}}
@media(max-width:700px){.companion-overlay{inset:8px 8px calc(8px + env(safe-area-inset-bottom));width:auto;height:auto;max-height:none;border-radius:20px}.companion-head{padding:11px;gap:9px}.companion-head .companion-avatar{width:50px;height:50px}.companion-controls button{min-width:40px;min-height:44px}.companion-head h2{font-size:1.02rem}.companion-quick button{min-height:44px}.companion-page .companion-window{height:calc(100dvh - 200px);min-height:470px;max-height:none}.companion-messages{padding:12px}.companion-message{font-size:.84rem}.companion-form{padding:7px 11px}.companion-kind-note{padding:2px 12px 10px}#companion-reopen{bottom:90px;right:12px}.companion-card .companion-avatar{height:104px}}
@media(max-height:520px) and (orientation:landscape){.companion-overlay{inset:5px 5px 5px auto;width:min(530px,90vw);height:auto;max-height:none}.companion-head{padding:5px 12px}.companion-head .companion-avatar{width:38px;height:38px}.companion-quick{padding:4px 10px;max-height:50px;flex-wrap:nowrap}.companion-quick button{flex-shrink:0}.companion-kind-note{display:none}.companion-message{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){.companion-avatar{animation:none!important}}
.companion-form .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* A small, quiet presence follows navigation. The reading toolbar has its own entry. */
#companion-dock{position:fixed;right:18px;bottom:18px;z-index:35;display:flex;gap:6px;align-items:center;max-width:calc(100vw - 32px)}
#companion-dock>button{display:flex;align-items:center;gap:8px;min-height:44px;box-shadow:0 5px 20px #29235520;border:1px solid #d8d0fc;border-radius:26px;background:#fff;color:#303967;font-size:.8rem;padding:5px 14px 5px 5px}
#companion-dock .companion-avatar{width:32px;height:32px;min-width:32px;flex:none;border-radius:50%;background:#eee9ff}
#companion-dock .companion-avatar>span{font-size:0}#companion-dock .companion-avatar>span:after{content:'K';font-size:15px;color:#755bce;font-weight:800}
#companion-dock [data-companion-dismiss]{font-size:.7rem;padding:9px}
.companion-guides{display:flex;gap:5px;flex-wrap:wrap;padding:4px 14px}.companion-guides button{font-size:.7rem;min-height:35px}
.kione-guided-target{outline:4px solid #805ee8!important;outline-offset:4px;scroll-margin-block:140px}
#kione-tutorial{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:75;background:#fffdf5;border:2px solid #a994ef;border-radius:20px;padding:14px 18px;width:min(540px,calc(100vw - 24px));box-shadow:0 8px 30px #30244a25}
#kione-tutorial p{margin:0 0 10px}#kione-tutorial>div{display:flex;gap:8px;flex-wrap:wrap}#kione-tutorial button{min-height:42px}
@media(max-width:700px){#companion-dock{bottom:calc(78px + env(safe-area-inset-bottom));right:10px}#kione-tutorial{bottom:calc(76px + env(safe-area-inset-bottom))}#companion-dock:has(~#kione-tutorial){display:none}}
@media(max-height:500px){.companion-guides{display:none}#kione-tutorial{bottom:8px;padding:8px 12px}#companion-dock{bottom:8px}}
