.spaceki-chatbot {
  --sk-bg: #061a38;
  --sk-panel: #0a2750;
  --sk-panel-2: #102f5b;
  --sk-text: #f4f9ff;
  --sk-muted: #b9cae4;
  --sk-cyan: #28d7e5;
  --sk-purple: #9d6cff;
  --sk-focus: #ffe06b;
  --sk-danger: #ffbed0;
  all: initial;
  color: var(--sk-text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.45;
}
.spaceki-chatbot *, .spaceki-chatbot *::before, .spaceki-chatbot *::after { box-sizing: border-box; }
.spaceki-chatbot button, .spaceki-chatbot textarea { font: inherit; }
.spaceki-chatbot__launcher {
  position: fixed; z-index: 2147483000; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom));
  display: inline-flex; align-items: center; gap: 9px; min-height: 50px; padding: 10px 17px 10px 11px;
  border: 1px solid rgba(40, 215, 229, .8); border-radius: 999px; background: linear-gradient(125deg, #092a56, #35206d);
  box-shadow: 0 12px 32px rgba(1, 8, 29, .45); color: var(--sk-text); cursor: pointer; font-weight: 700;
}
.spaceki-chatbot__launcher:hover { background: linear-gradient(125deg, #10386c, #4a268f); }
.spaceki-chatbot__launcher-icon { display: inline-grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: var(--sk-cyan); color: #06204a; font-weight: 800; }
.spaceki-chatbot__dialog {
  position: fixed; z-index: 2147483001; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom));
  display: flex; flex-direction: column; width: min(390px, calc(100vw - 32px)); max-height: min(660px, calc(100vh - 32px));
  overflow: hidden; border: 1px solid rgba(40, 215, 229, .72); border-radius: 18px; background: var(--sk-bg);
  box-shadow: 0 22px 65px rgba(1, 8, 29, .62); color: var(--sk-text);
}
.spaceki-chatbot__dialog[hidden] { display: none; }
.spaceki-chatbot__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 18px 14px; background: linear-gradient(120deg, #0b315f, #37236d); }
.spaceki-chatbot__header h2, .spaceki-chatbot__gate h3 { margin: 0; color: var(--sk-text); font-size: 1.06rem; line-height: 1.25; }
.spaceki-chatbot__eyebrow { margin: 0 0 4px; color: #a9f7ff; font-size: .74rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.spaceki-chatbot__close { width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: transparent; color: var(--sk-text); cursor: pointer; font-size: 1.55rem; line-height: 1; }
.spaceki-chatbot__status { min-height: 25px; padding: 6px 18px; background: #071e40; color: #b9eefa; font-size: .78rem; }
.spaceki-chatbot__gate { padding: 18px; overflow-y: auto; }
.spaceki-chatbot__gate p { margin: 11px 0; color: var(--sk-muted); font-size: .91rem; }
.spaceki-chatbot__notice { padding: 10px; border-left: 3px solid var(--sk-purple); background: rgba(157,108,255,.14); }
.spaceki-chatbot a { color: #a9f7ff; text-decoration: underline; text-underline-offset: 2px; }
.spaceki-chatbot__consent { display: flex; align-items: flex-start; gap: 9px; margin: 17px 0 14px; color: var(--sk-text); cursor: pointer; font-size: .9rem; }
.spaceki-chatbot__consent input { flex: 0 0 auto; width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--sk-cyan); }
.spaceki-chatbot__start, .spaceki-chatbot__send { border: 1px solid var(--sk-cyan); border-radius: 8px; background: var(--sk-cyan); color: #04214a; cursor: pointer; font-weight: 800; }
.spaceki-chatbot__start { width: 100%; min-height: 43px; padding: 8px 13px; }
.spaceki-chatbot__start:disabled { cursor: not-allowed; opacity: .52; }
.spaceki-chatbot__chat { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.spaceki-chatbot__messages { display: flex; min-height: 135px; flex: 1 1 auto; flex-direction: column; gap: 10px; overflow-y: auto; padding: 14px 16px; background: #071d3d; }
.spaceki-chatbot__message { max-width: 88%; padding: 10px 12px; border-radius: 12px; overflow-wrap: anywhere; white-space: pre-wrap; font-size: .92rem; }
.spaceki-chatbot__message--assistant { align-self: flex-start; border: 1px solid rgba(157,108,255,.38); background: var(--sk-panel-2); }
.spaceki-chatbot__message--user { align-self: flex-end; background: #086b84; color: #fff; }
.spaceki-chatbot__links { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 16px; border-top: 1px solid rgba(185,202,228,.25); background: var(--sk-panel); }
.spaceki-chatbot__links a { padding: 3px 7px; border: 1px solid rgba(40,215,229,.55); border-radius: 999px; font-size: .78rem; }
.spaceki-chatbot__form { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px 16px 8px; background: var(--sk-panel); }
.spaceki-chatbot__input { width: 100%; min-height: 44px; resize: vertical; border: 1px solid #7392bb; border-radius: 8px; background: #fff; color: #10213a; padding: 9px; }
.spaceki-chatbot .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.spaceki-chatbot__send { min-width: 78px; padding: 8px 11px; }
.spaceki-chatbot__send:disabled, .spaceki-chatbot__input:disabled { cursor: wait; opacity: .66; }
.spaceki-chatbot__revoke { align-self: flex-start; margin: 0 16px 14px; padding: 3px 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--sk-danger); cursor: pointer; font-size: .78rem; }
.spaceki-chatbot button:focus-visible, .spaceki-chatbot textarea:focus-visible, .spaceki-chatbot a:focus-visible, .spaceki-chatbot input:focus-visible { outline: 3px solid var(--sk-focus); outline-offset: 3px; }
@media (max-width: 480px) {
  .spaceki-chatbot__dialog { right: 8px; bottom: 8px; width: calc(100vw - 16px); max-height: calc(100vh - 16px); border-radius: 14px; }
  .spaceki-chatbot__launcher { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  .spaceki-chatbot__form { grid-template-columns: 1fr; }
  .spaceki-chatbot__send { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .spaceki-chatbot *, .spaceki-chatbot *::before, .spaceki-chatbot *::after { scroll-behavior: auto !important; transition: none !important; } }

/* Funktionale Design-Einstellungen aus der SpaceKi-Administration. */
.spaceki-chatbot { --sk-primary-text:#000; --sk-secondary-text:#000; --sk-header-text:#000; --sk-panel:var(--sk-bg); --sk-panel-2:var(--sk-bg); }
.spaceki-chatbot__launcher, .spaceki-chatbot__launcher:hover { background:linear-gradient(125deg,var(--sk-purple),var(--sk-cyan)); color:var(--sk-header-text); border-color:var(--sk-cyan); }
.spaceki-chatbot__launcher-icon { background:var(--sk-cyan); color:var(--sk-secondary-text); }
.spaceki-chatbot__dialog { border-color:var(--sk-cyan); max-height:min(700px,calc(100dvh - 32px)); }
.spaceki-chatbot__header { background:linear-gradient(120deg,var(--sk-purple),var(--sk-cyan)); color:var(--sk-header-text); }
.spaceki-chatbot__header h2, .spaceki-chatbot__eyebrow { color:var(--sk-header-text); }
.spaceki-chatbot__subtitle { margin:6px 0 0; font-size:.82rem; line-height:1.35; color:var(--sk-header-text); }
.spaceki-chatbot__close { width:44px; height:44px; flex:0 0 44px; color:var(--sk-header-text); border-color:currentColor; }
.spaceki-chatbot__status, .spaceki-chatbot__messages, .spaceki-chatbot__links, .spaceki-chatbot__form { background:var(--sk-bg); color:var(--sk-text); }
.spaceki-chatbot__notice { background:var(--sk-bg); border-left-color:var(--sk-purple); }
.spaceki-chatbot__gate h3, .spaceki-chatbot a, .spaceki-chatbot__revoke { color:var(--sk-text); }
.spaceki-chatbot__start, .spaceki-chatbot__send { background:var(--sk-cyan); color:var(--sk-secondary-text); border-color:var(--sk-cyan); }
.spaceki-chatbot__start { min-height:44px; }
.spaceki-chatbot__message--assistant { background:var(--sk-bg); color:var(--sk-text); border-color:var(--sk-purple); }
.spaceki-chatbot__message--user { background:var(--sk-purple); color:var(--sk-primary-text); }
.spaceki-chatbot--bottom-left .spaceki-chatbot__launcher { left:max(18px,env(safe-area-inset-left)); right:auto; }
.spaceki-chatbot--bottom-left .spaceki-chatbot__dialog { left:max(16px,env(safe-area-inset-left)); right:auto; }
@media(max-width:480px) {
 .spaceki-chatbot__dialog { max-height:calc(100dvh - 16px); }
 .spaceki-chatbot--bottom-left .spaceki-chatbot__dialog { left:8px; right:auto; }
 .spaceki-chatbot--bottom-left .spaceki-chatbot__launcher { left:max(12px,env(safe-area-inset-left)); right:auto; }
}

.spaceki-chatbot [hidden] { display:none!important; }
