/* Патч 21: Айри (yandere) and «Приказ Владыки» (sith) assistant panel. Only shown while Solution is active. */
.ai-btn{position:fixed;right:18px;bottom:84px;z-index:70;display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:999px;cursor:pointer;font:700 13px "Comfortaa","Nunito",system-ui,sans-serif;letter-spacing:.04em;transition:transform .2s}
.ai-btn img{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 18%;display:block}
.ai-btn svg{width:30px;height:30px;margin:5px}
.ai-btn:hover{transform:translateY(-2px)}
.ai-btn.ping::after{content:"";position:absolute;top:3px;left:36px;width:11px;height:11px;border-radius:50%;background:#ff3c6e;box-shadow:0 0 0 2px #140a0f;animation:aiPing 1.6s infinite}
.ai-btn.open{opacity:.0;pointer-events:none}
.ai-box{position:fixed;right:18px;bottom:84px;z-index:72;width:380px;max-width:calc(100vw - 24px);height:min(560px,calc(100vh - 120px));display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(14px) scale(.98);pointer-events:none;transition:opacity .2s,transform .2s;font:14px/1.45 "Nunito",system-ui,sans-serif}
.ai-box.on{opacity:1;transform:none;pointer-events:auto}
.ai-hd{display:flex;align-items:center;gap:10px;padding:10px 12px;flex:none}
.ai-pt{width:62px;height:62px;flex:none;border-radius:50%;overflow:hidden}
.ai-pt img{width:100%;height:100%;object-fit:cover;object-position:50% 14%;display:block}
.ai-tt{flex:1;min-width:0}.ai-tt b{display:block;font:700 17px/1.2 "Comfortaa","Nunito",sans-serif}.ai-tt span{display:block;font-size:12px;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-x{width:34px;height:34px;flex:none;border-radius:50%;background:transparent;border:1px solid currentColor;color:inherit;opacity:.7;cursor:pointer;display:grid;place-items:center}.ai-x svg{width:14px;height:14px}.ai-x:hover{opacity:1}
.ai-log{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain;scrollbar-width:thin}
.ai-m{max-width:86%;padding:8px 12px;border-radius:16px;word-wrap:break-word;white-space:pre-line;animation:aiIn .18s ease-out}
.ai-m b{font-weight:800}.ai-m small{opacity:.7}
.ai-a{align-self:flex-start;border-bottom-left-radius:4px}
.ai-u{align-self:flex-end;border-bottom-right-radius:4px}
.ai-ty{display:flex;gap:4px;padding:12px 14px}.ai-ty i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5;animation:aiDot 1s infinite}.ai-ty i:nth-child(2){animation-delay:.15s}.ai-ty i:nth-child(3){animation-delay:.3s}
.ai-ch{display:flex;gap:6px;padding:6px 12px;overflow-x:auto;flex:none;scrollbar-width:none}.ai-ch::-webkit-scrollbar{display:none}
.ai-ch button{flex:none;padding:5px 11px;border-radius:999px;background:transparent;color:inherit;border:1px solid currentColor;opacity:.78;font:600 12px "Nunito",sans-serif;cursor:pointer;white-space:nowrap}.ai-ch button:hover{opacity:1}
.ai-f{display:flex;gap:6px;padding:8px 12px 12px;flex:none}
.ai-in{flex:1;min-width:0;padding:10px 14px;border-radius:999px;font:15px "Nunito",system-ui,sans-serif;outline:none}
.ai-go{width:42px;height:42px;flex:none;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center}.ai-go svg{width:18px;height:18px}

/* yandere skin */
.ai-btn.ai-yan{background:#1a0b13;color:#f3d6e2;border:1px solid #6b2a47;box-shadow:0 6px 20px rgba(168,38,74,.35)}
.ai-box.ai-yan{background:linear-gradient(180deg,#1c0c15,#0e060a 70%);color:#f6e2ea;border:1px solid #5a2440;border-radius:22px;box-shadow:0 16px 46px rgba(0,0,0,.6),0 0 30px rgba(168,38,74,.25)}
.ai-yan .ai-hd{background:linear-gradient(90deg,rgba(168,38,74,.35),transparent);border-bottom:1px solid #3e1a2c}
.ai-yan .ai-pt{border:2px solid #c7769a;box-shadow:0 0 14px rgba(199,118,154,.45)}
.ai-yan .ai-tt b{color:#f1a9c6}
.ai-yan .ai-a{background:#2a1220;border:1px solid #4d2238}
.ai-yan .ai-u{background:#a8264a;color:#fff}
.ai-yan .ai-ch button{color:#e8a9c2}
.ai-yan .ai-in{background:#0a0407;border:1px solid #4b2537;color:#fbe9f0}.ai-yan .ai-in:focus{border-color:#c7769a}
.ai-yan .ai-go{background:#c7769a;color:#1a0b13}

/* sith skin */
.ai-btn.ai-sith{background:#050101;color:#ff3346;border:1px solid #e0142c;border-radius:0;padding:4px 14px 4px 4px;font-family:"Oswald",sans-serif;text-transform:uppercase;box-shadow:0 0 16px rgba(224,20,44,.4)}
.ai-box.ai-sith{background:#070203;color:#f1e4e4;border:1px solid #e0142c;border-radius:0;box-shadow:0 0 26px rgba(224,20,44,.35);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}
.ai-sith .ai-hd{border-bottom:1px solid #5a0d16;background:linear-gradient(90deg,rgba(224,20,44,.22),transparent)}
.ai-sith .ai-pt{border-radius:0;background:#120304;display:grid;place-items:center;color:#ff3346;border:1px solid #e0142c}
.ai-sith .ai-tt b{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#ff3346}
.ai-sith .ai-m,.ai-sith .ai-in,.ai-sith .ai-ch button,.ai-sith .ai-go,.ai-sith .ai-x{border-radius:0}
.ai-sith .ai-a{background:#150406;border-left:2px solid #e0142c}
.ai-sith .ai-u{background:#3a0810;border:1px solid #7a1420}
.ai-sith .ai-ch button{color:#ff8a94}
.ai-sith .ai-in{background:#000;border:1px solid #5a0d16;color:#fff}.ai-sith .ai-in:focus{border-color:#e0142c}
.ai-sith .ai-go{background:#e0142c;color:#000}

@keyframes aiIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes aiDot{0%,100%{opacity:.25}50%{opacity:.9}}
@keyframes aiPing{0%{box-shadow:0 0 0 2px #140a0f,0 0 0 0 rgba(255,60,110,.6)}100%{box-shadow:0 0 0 2px #140a0f,0 0 0 10px rgba(255,60,110,0)}}

/* mobile: bottom sheet, launcher above the bottom bars */
@media (max-width:640px){
  .ai-btn{right:calc(8px + var(--sar,0px));bottom:calc(var(--dbh,104px) + 100px + var(--sab,0px));padding:4px}
  .ai-btn span{display:none}.ai-btn img{width:42px;height:42px}
  body.is-dm .ai-btn{bottom:calc(var(--mnav,60px) + 60px + var(--sab,0px))}
  body.msheet .ai-btn{display:none}
  .ai-box{left:0;right:0;bottom:0;width:auto;max-width:none;height:min(78vh,78dvh);border-radius:20px 20px 0 0!important;padding-bottom:var(--sab,0px);transform:translateY(100%)}
  .ai-box.ai-sith{clip-path:none}
  .ai-box.on{transform:none}
  .ai-in{font-size:16px}
}
/* lite: no blur, no animation, flat shadows */
html.lite .ai-box,html.potato .ai-box,html.lite .ai-btn,html.potato .ai-btn{box-shadow:none;transition:none}
html.lite .ai-m,html.potato .ai-m,html.lite .ai-btn.ping::after,html.potato .ai-btn.ping::after,html.lite .ai-ty i,html.potato .ai-ty i{animation:none}
@media (prefers-reduced-motion:reduce){.ai-box,.ai-btn,.ai-m,.ai-ty i,.ai-btn.ping::after{animation:none!important;transition:none!important}}
