/* Kiaan Chat — floating tarot assistant. Everything is scoped under .kch. */
.kch{--kch-navy:#0e1729;--kch-panel:#1d1840;--kch-gold:#d4af37;--kch-ink:#ece9fb;--kch-muted:#b4aedd;--kch-line:#3a3070;font-family:inherit}
.kch *,.kch *::before,.kch *::after{box-sizing:border-box}
.kch [hidden]{display:none!important}

/* Launcher */
.kch .kch-launch{position:fixed;right:20px;bottom:140px;z-index:99990;display:grid;place-items:center;width:64px!important;height:64px!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;border:2px solid var(--kch-gold)!important;border-radius:50%!important;background:var(--kch-navy)!important;color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.45);font:inherit;-webkit-appearance:none;appearance:none}
.kch-launch img{width:58px!important;height:58px!important;border-radius:50%;object-fit:cover;object-position:top center;background:#fff;display:block;border:0!important;padding:0!important;margin:0!important}
.kch-dot{position:absolute;top:1px;right:1px;width:13px;height:13px;border-radius:50%;background:#37d67a;border:2px solid var(--kch-navy)}
.kch-launch::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(212,175,55,.55);animation:kchpulse 2.4s ease-out infinite;pointer-events:none}
@keyframes kchpulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(1.12);opacity:0}100%{transform:scale(1.12);opacity:0}}
.kch-launch:hover{filter:brightness(1.12)}

/* Panel */
.kch-panel{position:fixed;right:20px;bottom:236px;z-index:99991;width:min(362px,calc(100vw - 24px));height:min(540px,calc(100dvh - 256px));display:flex;flex-direction:column;background:var(--kch-panel);border:2px solid var(--kch-gold);border-radius:18px;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.55);color:var(--kch-ink);text-align:left}
.kch-head{display:flex;align-items:center;gap:10px;background:var(--kch-navy);padding:10px 12px;border-bottom:1px solid var(--kch-line)}
.kch-head img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:top center;background:#fff;border:2px solid var(--kch-gold)}
.kch-head-t{flex:1;line-height:1.25}
.kch-head-t strong{display:block;color:var(--kch-gold);font-size:1rem}
.kch-head-t small{color:var(--kch-muted);font-size:.78rem}
.kch-close{flex:0 0 auto;width:34px;height:34px;margin:0;padding:0;border:1px solid var(--kch-line);border-radius:50%;background:transparent;color:var(--kch-ink);font-size:1.25rem;line-height:1;cursor:pointer;-webkit-appearance:none;appearance:none}
.kch-close:hover{color:var(--kch-gold);border-color:var(--kch-gold)}

.kch-msgs{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:9px;-webkit-overflow-scrolling:touch}
.kch-b{max-width:85%;padding:9px 12px;border-radius:14px;font-size:.94rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}
.kch-b.bot{align-self:flex-start;background:#262058;border:1px solid var(--kch-line);border-bottom-left-radius:4px;color:var(--kch-ink)}
.kch-b.user{align-self:flex-end;background:var(--kch-gold);color:#1b1535;border-bottom-right-radius:4px;font-weight:600}
.kch-b.typing{opacity:.75}
.kch-b.typing i{display:inline-block;width:6px;height:6px;margin:0 1.5px;border-radius:50%;background:var(--kch-gold);animation:kchdot 1.1s infinite ease-in-out}
.kch-b.typing i:nth-child(2){animation-delay:.18s}
.kch-b.typing i:nth-child(3){animation-delay:.36s}
@keyframes kchdot{0%,80%,100%{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.15)}}

.kch-chips{display:flex;flex-wrap:wrap;gap:7px;padding:9px 12px 2px;border-top:1px solid var(--kch-line)}
.kch-chip{margin:0;padding:6px 12px;border:1px solid var(--kch-gold);border-radius:999px;background:transparent;color:var(--kch-gold);font:inherit;font-size:.82rem;cursor:pointer;-webkit-appearance:none;appearance:none}
.kch-chip:hover{background:rgba(212,175,55,.14)}

.kch-form{display:flex;gap:8px;padding:10px 12px 4px}
.kch-input{flex:1;min-width:0;padding:11px 13px;border:2px solid var(--kch-line);border-radius:12px;background:#15112e;color:var(--kch-ink);font:inherit;font-size:.95rem}
.kch-input::placeholder{color:#8f89b5}
.kch-input:focus{outline:none;border-color:var(--kch-gold)}
.kch-send{flex:0 0 auto;margin:0;padding:11px 18px;border:0;border-radius:12px;background:var(--kch-gold);color:#1b1535;font:inherit;font-weight:700;cursor:pointer;-webkit-appearance:none;appearance:none}
.kch-send:disabled{opacity:.55;cursor:wait}
.kch-fine{margin:4px 12px 10px;font-size:.72rem;color:#8f89b5;text-align:center}

.kch-b a{color:var(--kch-gold);text-decoration:underline}
.kch-b.user a{color:#1b1535}
.kch-report{display:block;margin-top:6px;padding:2px 0;border:0;background:none;color:var(--kch-muted);font:inherit;font-size:.72rem;cursor:pointer;-webkit-appearance:none;appearance:none}
.kch-report:hover{color:var(--kch-gold)}
.kch-report:disabled{color:var(--kch-muted);opacity:.65;cursor:default}
@media (max-width:480px){.kch-panel{left:10px;right:10px;width:auto;bottom:228px;height:min(560px,calc(100dvh - 248px))}.kch-launch{right:14px;bottom:138px}}

@media (prefers-reduced-motion:reduce){.kch-launch::after,.kch-b.typing i{animation:none!important}}
