/* Doc Mixi – Chat-Assistent von Mixklinik */
.mkc{
  --mkc-bg:#ECEFF3;
  --mkc-surface:#FFFFFF;
  --mkc-ink:#121620;
  --mkc-muted:#566073;
  --mkc-line:#D2D8E1;
  --mkc-accent:#2540D6;
  --mkc-mark:#FFDB4D;
  --mkc-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:99990;
  font-family:inherit;
  font-size:15px;
  line-height:1.5;
  color:var(--mkc-ink);
  text-align:left;
}
.mkc *,.mkc *::before,.mkc *::after{box-sizing:border-box}
.mkc [hidden]{display:none!important}
.mkc :focus-visible{outline:2px solid var(--mkc-accent);outline-offset:2px}

.mkc-fab{display:flex;align-items:center;gap:8px;height:52px;margin:0;padding:0 20px 0 16px;border:0;border-radius:999px;background:var(--mkc-ink);color:#fff;font-family:inherit;font-size:15px;font-weight:600;line-height:1;cursor:pointer;box-shadow:0 10px 30px rgb(18 22 32 / .25);transition:transform .15s ease}
.mkc-fab:hover{transform:translateY(-2px)}
.mkc-fab svg{flex:none;color:var(--mkc-mark)}
.mkc.is-open .mkc-fab{background:var(--mkc-accent)}

.mkc-panel{position:absolute;right:0;bottom:64px;width:380px;max-width:calc(100vw - 32px);height:min(600px, calc(100vh - 110px));display:flex;flex-direction:column;background:var(--mkc-surface);border:1px solid var(--mkc-line);border-radius:18px;box-shadow:0 24px 60px rgb(18 22 32 / .28);overflow:hidden}

.mkc-head{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;background:var(--mkc-ink);color:#fff}
.mkc-head div{flex:1;min-width:0}
.mkc-head b{display:block;font-size:16px;line-height:1.2}
.mkc-head small{display:block;margin-top:2px;font-family:var(--mkc-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.mkc-ava{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--mkc-mark);color:var(--mkc-ink);font-weight:800;font-size:16px}
.mkc-x{flex:none;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:10px;background:rgb(255 255 255 / .12);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.mkc-x:hover{background:rgb(255 255 255 / .22)}

.mkc-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:var(--mkc-bg);overscroll-behavior:contain}
.mkc-msg{max-width:88%;padding:9px 13px;border-radius:14px;font-size:15px;line-height:1.5;overflow-wrap:break-word}
.mkc-bot{align-self:flex-start;background:var(--mkc-surface);border:1px solid var(--mkc-line);border-bottom-left-radius:4px}
.mkc-me{align-self:flex-end;background:var(--mkc-accent);color:#fff;border-bottom-right-radius:4px}
.mkc-sys{align-self:stretch;max-width:none;padding:6px 8px;font-size:13px;color:var(--mkc-muted);text-align:center}
.mkc-msg a{color:var(--mkc-accent);text-decoration:underline;text-underline-offset:2px}
.mkc-me a{color:#fff}
.mkc-li{display:block;position:relative;padding-left:14px}
.mkc-li::before{content:"";position:absolute;left:3px;top:.68em;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.55}

.mkc-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px;background:var(--mkc-bg)}
.mkc-chips:empty{display:none}
.mkc-chip{margin:0;padding:6px 12px;border:1px solid var(--mkc-line);border-radius:999px;background:var(--mkc-surface);color:var(--mkc-ink);font-family:inherit;font-size:13px;line-height:1.3;cursor:pointer}
.mkc-chip:hover{border-color:var(--mkc-accent);color:var(--mkc-accent)}

.mkc-form{display:flex;align-items:flex-end;gap:8px;margin:0;padding:12px 12px 6px;background:var(--mkc-surface);border-top:1px solid var(--mkc-line)}
.mkc-form textarea{flex:1;min-height:42px;max-height:120px;margin:0;padding:10px 12px;border:1px solid var(--mkc-line);border-radius:12px;background:#fff;color:var(--mkc-ink);font-family:inherit;font-size:15px;line-height:1.4;resize:none;box-shadow:none}
.mkc-form textarea:focus{outline:2px solid var(--mkc-accent);outline-offset:0;border-color:transparent}
.mkc-send{flex:none;display:grid;place-items:center;width:42px;height:42px;margin:0;padding:0;border:0;border-radius:12px;background:var(--mkc-accent);color:#fff;cursor:pointer}
.mkc-send:disabled{opacity:.45;cursor:default}
.mkc-note{margin:0;padding:0 14px 10px;background:var(--mkc-surface);font-size:11.5px;line-height:1.4;color:var(--mkc-muted)}
.mkc-note a{color:var(--mkc-muted);text-decoration:underline}

.mkc-typing{display:inline-flex;gap:4px;padding:4px 0}
.mkc-typing i{width:6px;height:6px;border-radius:50%;background:var(--mkc-muted);animation:mkc-dot 1s infinite ease-in-out}
.mkc-typing i:nth-child(2){animation-delay:.15s}
.mkc-typing i:nth-child(3){animation-delay:.3s}
@keyframes mkc-dot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

.mkc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (max-width:600px){
  .mkc{right:12px;bottom:12px}
  .mkc-fab span{display:none}
  .mkc-fab{width:52px;padding:0;justify-content:center}
  .mkc-panel{position:fixed;left:8px;right:8px;bottom:72px;width:auto;max-width:none;height:calc(100vh - 96px);height:calc(100dvh - 96px)}
}
@media (prefers-reduced-motion:reduce){
  .mkc-fab{transition:none}
  .mkc-typing i{animation:none}
}
