/* FIXER — Aurora Labs Chat-Berater (CI-konform, pink-frei) */
:root{
  --fx-grad:linear-gradient(135deg,#ff8a3d,#ffb24d);
  --fx-grad-cool:linear-gradient(135deg,#2fa8ff,#31f5b0);
  --fx-bg:#0e1016;
  --fx-panel:#14151d;
  --fx-line:rgba(255,255,255,.09);
  --fx-fg:#e9eaf0;
  --fx-mut:#9a9caa;
  --fx-teal:#ff8a3d;
  --fx-orange:#ff8a3d;
  --fx-spring:cubic-bezier(.34,1.3,.5,1);
  --fx-ease:cubic-bezier(.32,.72,.3,1);
}
#fixer-root{font-family:'Manrope',system-ui,'Segoe UI',Roboto,sans-serif;color:var(--fx-fg)}
#fixer-root *{box-sizing:border-box}
#fixer-root button{font-family:inherit}

.fx-fab{
  position:fixed;right:22px;bottom:22px;z-index:9998;
  width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
  background:var(--fx-grad);color:#160a06;
  box-shadow:0 10px 26px -8px rgba(255,138,61,.55),inset 0 1px 0 rgba(255,255,255,.3);
  display:grid;place-items:center;
  transition:transform .18s var(--fx-spring),filter .15s;
}
.fx-fab:hover{transform:translateY(-2px);filter:brightness(1.07)}
.fx-fab:active{transform:scale(.95)}
.fx-fab svg{width:26px;height:26px}
.fx-fab .dot{position:absolute;top:6px;right:6px;width:12px;height:12px;border-radius:50%;background:var(--fx-teal);box-shadow:0 0 0 3px var(--fx-bg),0 0 10px var(--fx-teal)}
.fx-fab .lbl{
  position:absolute;right:74px;top:50%;transform:translateY(-50%) scale(.94);
  background:rgba(14,16,22,.96);color:var(--fx-fg);
  font-size:12.5px;font-weight:800;letter-spacing:.5px;
  padding:7px 12px;border-radius:999px;border:1px solid var(--fx-line);
  opacity:0;pointer-events:none;transition:opacity .18s,transform .18s var(--fx-spring);
  white-space:nowrap;
}
.fx-fab:hover .lbl,.fx-fab:focus-visible .lbl{opacity:1;transform:translateY(-50%) scale(1)}

.fx-panel{
  position:fixed;right:22px;bottom:96px;z-index:9999;
  width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 130px);
  background:var(--fx-bg);border:1px solid var(--fx-line);border-radius:18px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.7);
  display:none;flex-direction:column;overflow:hidden;
  backdrop-filter:blur(8px);
}
.fx-panel.on{display:flex;animation:fxIn .25s var(--fx-spring) both}
@keyframes fxIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .fx-panel{right:0;bottom:0;width:100vw;max-width:100vw;height:80vh;max-height:80vh;border-radius:18px 18px 0 0}
  .fx-fab{right:14px;bottom:14px}
}

.fx-head{
  display:flex;align-items:center;gap:11px;padding:14px 16px;
  border-bottom:1px solid var(--fx-line);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent);
  flex-shrink:0;
}
.fx-avatar{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:var(--fx-grad);box-shadow:0 4px 12px -4px rgba(255,138,61,.45);flex-shrink:0;
}
.fx-avatar svg{width:22px;height:22px;color:#160a06}
.fx-title{flex:1;min-width:0}
.fx-title b{font-family:'Anton','Manrope',sans-serif;font-size:18px;letter-spacing:1.5px;display:block;line-height:1}
.fx-title small{display:block;font-size:11px;font-weight:600;color:var(--fx-mut);margin-top:3px;letter-spacing:.2px}
.fx-close{
  width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.06);
  border:1px solid var(--fx-line);color:var(--fx-fg);cursor:pointer;display:grid;place-items:center;
}
.fx-close:hover{background:rgba(255,255,255,.12)}
.fx-close svg{width:18px;height:18px}

.fx-label{
  font-size:10.5px;font-weight:700;letter-spacing:.6px;color:var(--fx-mut);
  text-align:center;padding:6px 12px;border-bottom:1px solid var(--fx-line);
  background:rgba(47,168,255,.05);
}
.fx-label span{color:var(--fx-teal)}

.fx-msgs{
  flex:1;min-height:0;overflow-y:auto;padding:16px;
  display:flex;flex-direction:column;gap:11px;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;
}
.fx-msgs::-webkit-scrollbar{width:6px}
.fx-msgs::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}

.fx-msg{display:flex;gap:8px;max-width:90%;animation:fxMsg .22s var(--fx-ease) both}
@keyframes fxMsg{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fx-msg.bot{align-self:flex-start}
.fx-msg.user{align-self:flex-end;flex-direction:row-reverse}
.fx-msg-av{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;
  background:var(--fx-grad);
}
.fx-msg-av svg{width:16px;height:16px;color:#160a06}
.fx-msg.user .fx-msg-av{display:none}
.fx-msg-bub{
  font-size:13.5px;line-height:1.55;padding:10px 13px;border-radius:13px;
  background:rgba(255,138,61,.08);border:1px solid rgba(255,138,61,.18);
}
.fx-msg.user .fx-msg-bub{
  background:linear-gradient(135deg,rgba(255,138,61,.18),rgba(255,178,77,.12));
  border-color:rgba(255,138,61,.3);color:var(--fx-fg);
}
.fx-msg-bub b{color:#fff}
.fx-msg-bub a{color:var(--fx-teal);text-decoration:underline}

.fx-cards{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.fx-card{
  display:flex;gap:10px;align-items:center;padding:10px;
  background:var(--fx-panel);border:1px solid var(--fx-line);border-radius:11px;
  text-decoration:none;color:var(--fx-fg);transition:.15s;
}
.fx-card:hover{border-color:rgba(255,138,61,.5);background:#191b25}
.fx-card .fx-c-ic{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid var(--fx-line);flex-shrink:0}
.fx-card .fx-c-ic svg{width:18px;height:18px;color:var(--fx-teal)}
.fx-card .fx-c-tx{flex:1;min-width:0}
.fx-card .fx-c-tx b{font-size:13px;display:block;line-height:1.2}
.fx-card .fx-c-tx span{font-size:11.5px;color:var(--fx-mut);font-weight:600}
.fx-card .fx-c-px{font-size:12px;font-weight:800;color:var(--fx-orange);white-space:nowrap}

.fx-typing{display:flex;gap:4px;align-items:center;padding:11px 13px}
.fx-typing i{width:6px;height:6px;border-radius:50%;background:var(--fx-teal);animation:fxDot 1.1s infinite}
.fx-typing i:nth-child(2){animation-delay:.15s}
.fx-typing i:nth-child(3){animation-delay:.3s}
@keyframes fxDot{0%,80%,100%{opacity:.25;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}

.fx-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;flex-shrink:0}
.fx-chip{
  font-size:12px;font-weight:700;color:var(--fx-fg);
  background:rgba(255,255,255,.05);border:1px solid var(--fx-line);
  padding:7px 11px;border-radius:999px;cursor:pointer;transition:.15s;
}
.fx-chip:hover{background:rgba(255,138,61,.12);border-color:rgba(255,138,61,.35);color:var(--fx-teal)}

.fx-comp{
  display:flex;gap:8px;padding:12px 12px 14px;border-top:1px solid var(--fx-line);
  background:rgba(255,255,255,.02);flex-shrink:0;
}
.fx-comp input{
  flex:1;min-width:0;background:var(--fx-panel);border:1px solid var(--fx-line);
  color:var(--fx-fg);font-size:13.5px;padding:10px 13px;border-radius:11px;outline:none;
  font-family:inherit;
}
.fx-comp input:focus{border-color:rgba(255,138,61,.5)}
.fx-comp button{
  width:42px;height:42px;border-radius:11px;border:none;cursor:pointer;
  background:var(--fx-grad);color:#160a06;display:grid;place-items:center;
}
.fx-comp button:hover{filter:brightness(1.07)}
.fx-comp button:disabled{opacity:.4;cursor:not-allowed}
.fx-comp button svg{width:18px;height:18px}

:focus-visible{outline:2.5px solid #5ab0ff;outline-offset:2px}

@media (prefers-reduced-motion:reduce){
  .fx-panel,.fx-msg{animation:none!important}
  .fx-typing i{animation:none;opacity:.8}
}
