/* DRR DAMSON — FOX / VSA theme, Stage32 (2026-07-15)
   Warstwa klienta. Mózg i transport pozostają po stronie VSA. */
:root{
  --drr-fox-bg:#081018;
  --drr-fox-panel:#0d1822;
  --drr-fox-panel-2:#132330;
  --drr-fox-text:#eef9fb;
  --drr-fox-muted:#9db6bf;
  --drr-fox-laser:#20e3d3;
  --drr-fox-green:#2ef18f;
  --drr-fox-gold:#d6a756;
  --drr-fox-line:rgba(32,227,211,.22);
  --drr-fox-shadow:0 28px 90px rgba(0,0,0,.58);
}

#vsa-widget-root,
#vsa-widget-root *{box-sizing:border-box}

#vsa-widget-root{
  position:fixed !important;
  right:18px !important;
  bottom:18px !important;
  z-index:2147483000 !important;
  width:168px;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;
  color:var(--drr-fox-text);
  isolation:isolate;
}

#vsa-widget-root .vsa-btn{
  position:relative;
  display:block;
  width:168px !important;
  height:184px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:26px !important;
  background:transparent !important;
  color:var(--drr-fox-text) !important;
  cursor:pointer;
  filter:drop-shadow(0 18px 18px rgba(0,0,0,.38));
  box-shadow:none !important;
  -webkit-tap-highlight-color:transparent;
}

#vsa-widget-root .vsa-btn::before{
  content:"";
  position:absolute;
  left:23px;
  right:18px;
  bottom:5px;
  height:25px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(32,227,211,.28),rgba(0,0,0,.2) 58%,transparent 74%);
  filter:blur(5px);
}

#vsa-widget-root .vsa-launcher-character{
  position:absolute;
  inset:-8px -2px 5px -4px;
  width:174px;
  height:174px;
  object-fit:contain;
  object-position:center bottom;
  transform-origin:50% 92%;
  user-select:none;
  pointer-events:none;
  animation:drrFoxIdle 3.8s ease-in-out infinite;
  transition:filter .2s ease,transform .2s ease,opacity .15s ease;
}

#vsa-widget-root .vsa-launcher-label{
  position:absolute;
  right:4px;
  bottom:1px;
  min-width:108px;
  padding:8px 11px;
  border:1px solid rgba(32,227,211,.34);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(8,16,24,.97),rgba(15,31,39,.97));
  color:#dffdfa;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
  box-shadow:0 10px 28px rgba(0,0,0,.34),0 0 24px rgba(32,227,211,.08);
}

#vsa-widget-root .vsa-btn:hover .vsa-launcher-character,
#vsa-widget-root .vsa-btn:focus-visible .vsa-launcher-character{
  filter:brightness(1.08) saturate(1.05);
  transform:translateY(-4px) scale(1.02);
}

#vsa-widget-root .vsa-btn:focus-visible{
  outline:2px solid var(--drr-fox-laser) !important;
  outline-offset:3px !important;
}

#vsa-widget-root .vsa-panel{
  position:absolute !important;
  right:4px !important;
  bottom:174px !important;
  display:none;
  flex-direction:column;
  width:min(410px,calc(100vw - 24px)) !important;
  height:min(620px,calc(100dvh - 208px)) !important;
  overflow:hidden;
  border:1px solid var(--drr-fox-line) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 88% 0%,rgba(32,227,211,.12),transparent 31%),
    radial-gradient(circle at 6% 100%,rgba(214,167,86,.09),transparent 34%),
    linear-gradient(160deg,var(--drr-fox-panel-2),var(--drr-fox-panel)) !important;
  color:var(--drr-fox-text) !important;
  box-shadow:var(--drr-fox-shadow) !important;
  transform-origin:calc(100% - 42px) 100%;
  animation:drrFoxPanelIn .2s ease-out;
}

#vsa-widget-root .vsa-panel.open{display:flex !important}

#vsa-widget-root .vsa-head{
  display:flex;
  align-items:center;
  min-height:78px;
  gap:12px;
  padding:12px 13px 12px 15px !important;
  border-bottom:1px solid rgba(32,227,211,.16) !important;
  background:linear-gradient(90deg,rgba(32,227,211,.10),rgba(214,167,86,.06)) !important;
}

#vsa-widget-root .vsa-title{
  display:flex;
  align-items:center;
  min-width:0;
  flex:1;
  gap:11px;
  color:var(--drr-fox-text) !important;
}

#vsa-widget-root .vsa-avatar{
  flex:0 0 52px;
  width:52px;
  height:52px;
  object-fit:contain;
  object-position:center 18%;
  padding:2px;
  border:1px solid rgba(32,227,211,.26);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(32,227,211,.10),rgba(214,167,86,.09));
}

#vsa-widget-root .vsa-identity{min-width:0}
#vsa-widget-root .vsa-identity strong{
  display:block;
  overflow:hidden;
  color:#f5feff;
  font-size:16px;
  line-height:1.15;
  letter-spacing:.025em;
  text-overflow:ellipsis;
  white-space:nowrap;
}

#vsa-widget-root .vsa-status{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:5px;
  color:var(--drr-fox-muted);
  font-size:11px;
  line-height:1.2;
}

#vsa-widget-root .vsa-status::before{
  content:"";
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--drr-fox-green);
  box-shadow:0 0 0 4px rgba(46,241,143,.10),0 0 13px rgba(46,241,143,.48);
}

#vsa-widget-root.is-thinking .vsa-status::before{
  background:var(--drr-fox-gold);
  box-shadow:0 0 0 4px rgba(214,167,86,.10),0 0 13px rgba(214,167,86,.48);
  animation:drrFoxPulse .85s ease-in-out infinite alternate;
}

#vsa-widget-root.is-error .vsa-status::before{background:#ff6b79;box-shadow:0 0 0 4px rgba(255,107,121,.1)}

#vsa-widget-root .vsa-close{
  flex:0 0 40px;
  width:40px;
  height:40px;
  padding:0 !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:13px !important;
  background:rgba(255,255,255,.045) !important;
  color:#f5feff !important;
  font-size:23px !important;
  line-height:1;
  cursor:pointer;
}

#vsa-widget-root .vsa-close:hover{border-color:rgba(32,227,211,.28) !important;background:rgba(32,227,211,.10) !important}
#vsa-widget-root .vsa-close:focus-visible{outline:2px solid var(--drr-fox-laser);outline-offset:2px}

#vsa-widget-root .vsa-messages{
  flex:1;
  min-height:180px;
  overflow:auto;
  padding:17px 15px 13px !important;
  gap:11px !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(32,227,211,.34) transparent;
}

#vsa-widget-root .vsa-msg{
  max-width:88% !important;
  padding:11px 13px !important;
  border-radius:16px !important;
  overflow-wrap:anywhere;
  color:#eef9fb !important;
  font-size:13px !important;
  line-height:1.5 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}

#vsa-widget-root .vsa-msg strong{color:#fff4cf;font-weight:900}
#vsa-widget-root .vsa-msg a{color:#72f2e6;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
#vsa-widget-root .vsa-msg a:hover{color:#c3fff8}

#vsa-widget-root .drr-fox-quick{
  align-self:stretch;
  display:block;
  padding:12px;
  border:1px solid rgba(32,227,211,.16);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(15,35,44,.92),rgba(10,24,32,.92));
  box-shadow:0 10px 25px rgba(0,0,0,.13);
}

#vsa-widget-root .drr-fox-quick>strong{
  display:block;
  color:#f4feff;
  font-size:13px;
  line-height:1.2;
}

#vsa-widget-root .drr-fox-quick>span{
  display:block;
  margin-top:4px;
  color:var(--drr-fox-muted);
  font-size:10.5px;
  line-height:1.35;
}

#vsa-widget-root .drr-fox-quick>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}

#vsa-widget-root .drr-fox-quick button{
  min-height:38px;
  padding:8px 9px;
  border:1px solid rgba(32,227,211,.20);
  border-radius:11px;
  background:rgba(7,18,25,.78);
  color:#eafcfd;
  font:inherit;
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}

#vsa-widget-root .drr-fox-quick button:last-child{grid-column:1/-1;text-align:center;border-color:rgba(214,167,86,.30);color:#fff4cf}
#vsa-widget-root .drr-fox-quick button:hover{border-color:rgba(32,227,211,.54);background:rgba(32,227,211,.10);transform:translateY(-1px)}
#vsa-widget-root .drr-fox-quick button:focus-visible{outline:2px solid var(--drr-fox-laser);outline-offset:2px}

#vsa-widget-root .drr-fox-products{
  align-self:stretch;
  display:grid;
  gap:8px;
}

#vsa-widget-root .drr-fox-product,
#vsa-widget-root .drr-fox-service{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px;
  min-height:76px;
  overflow:hidden;
  border:1px solid rgba(32,227,211,.18);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(18,39,50,.98),rgba(10,25,34,.98));
  color:#eef9fb;
  text-decoration:none;
  box-shadow:0 9px 24px rgba(0,0,0,.15);
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}

#vsa-widget-root .drr-fox-product:hover,
#vsa-widget-root .drr-fox-service:hover{
  border-color:rgba(32,227,211,.48);
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(0,0,0,.22),0 0 22px rgba(32,227,211,.05);
}

#vsa-widget-root .drr-fox-product:focus-visible,
#vsa-widget-root .drr-fox-service:focus-visible{outline:2px solid var(--drr-fox-laser);outline-offset:2px}

#vsa-widget-root .drr-fox-product>img,
#vsa-widget-root .drr-fox-service>img{
  width:76px;
  height:76px;
  object-fit:cover;
  background:#0b151d;
}

#vsa-widget-root .drr-fox-product__body,
#vsa-widget-root .drr-fox-service>span{
  min-width:0;
  align-self:center;
  display:block;
  padding:8px 10px 8px 0;
}

#vsa-widget-root .drr-fox-product__body>strong,
#vsa-widget-root .drr-fox-service strong{
  display:-webkit-box;
  overflow:hidden;
  color:#f5feff;
  font-size:11.5px;
  font-weight:850;
  line-height:1.3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

#vsa-widget-root .drr-fox-product__meta,
#vsa-widget-root .drr-fox-service>span>span{
  display:block;
  margin-top:5px;
  color:#9feee5;
  font-size:10.5px;
  font-weight:750;
  line-height:1.25;
}

#vsa-widget-root .drr-fox-products__all{
  display:block;
  padding:9px 11px;
  border:1px dashed rgba(214,167,86,.34);
  border-radius:11px;
  color:#fff1c8;
  font-size:10.5px;
  font-weight:850;
  text-align:center;
  text-decoration:none;
}

#vsa-widget-root .drr-fox-products__all:hover{background:rgba(214,167,86,.08);border-style:solid}

#vsa-widget-root .vsa-bot{
  align-self:flex-start;
  border:1px solid rgba(255,255,255,.07);
  border-bottom-left-radius:5px !important;
  background:linear-gradient(145deg,rgba(30,48,61,.96),rgba(20,34,45,.96)) !important;
}

#vsa-widget-root .vsa-user{
  align-self:flex-end;
  border:1px solid rgba(32,227,211,.30);
  border-bottom-right-radius:5px !important;
  background:linear-gradient(135deg,#087f79,#0aa58f) !important;
  color:#fff !important;
}

#vsa-widget-root .vsa-error{
  border:1px solid rgba(255,107,121,.55) !important;
  background:linear-gradient(145deg,rgba(75,25,35,.96),rgba(46,20,28,.96)) !important;
}

#vsa-widget-root .vsa-form{
  display:flex;
  gap:9px !important;
  padding:12px !important;
  border-top:1px solid rgba(32,227,211,.15) !important;
  background:rgba(5,11,17,.58);
}

#vsa-widget-root .vsa-input{
  min-width:0;
  min-height:46px;
  border:1px solid rgba(157,182,191,.22) !important;
  border-radius:13px !important;
  outline:none;
  background:#09131d !important;
  color:#f5feff !important;
  padding:11px 13px !important;
  font:inherit;
}

#vsa-widget-root .vsa-input::placeholder{color:#78919b}
#vsa-widget-root .vsa-input:focus{border-color:rgba(32,227,211,.66) !important;box-shadow:0 0 0 3px rgba(32,227,211,.10)}

#vsa-widget-root .vsa-send{
  min-width:82px;
  min-height:46px;
  border:1px solid rgba(32,227,211,.38) !important;
  border-radius:13px !important;
  background:linear-gradient(135deg,#07978d,#0ab37f) !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:0 16px !important;
  cursor:pointer;
  box-shadow:0 9px 24px rgba(7,151,141,.18);
}

#vsa-widget-root .vsa-send:hover:not(:disabled){filter:brightness(1.08)}
#vsa-widget-root .vsa-send:disabled{cursor:wait;opacity:.58}

@keyframes drrFoxIdle{0%,100%{transform:translateY(0) rotate(-.2deg)}50%{transform:translateY(-4px) rotate(.35deg)}}
@keyframes drrFoxPanelIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes drrFoxPulse{to{opacity:.48;transform:scale(.82)}}

@media(max-width:760px){
  #vsa-widget-root{right:8px !important;bottom:74px !important;width:126px}
  #vsa-widget-root .vsa-btn{width:126px !important;height:138px !important}
  #vsa-widget-root .vsa-launcher-character{inset:-3px 0 4px 0;width:128px;height:128px}
  #vsa-widget-root .vsa-launcher-label{right:0;bottom:0;min-width:96px;padding:7px 9px;font-size:10px}
  #vsa-widget-root .vsa-panel{
    position:fixed !important;
    right:8px !important;
    bottom:72px !important;
    width:calc(100vw - 16px) !important;
    height:min(620px,calc(100dvh - 88px)) !important;
    border-radius:20px !important;
  }
  #vsa-widget-root .vsa-msg{max-width:92% !important}
}

@media(max-width:390px){
  #vsa-widget-root .vsa-head{min-height:70px;padding:10px 11px !important}
  #vsa-widget-root .vsa-avatar{width:46px;height:46px;flex-basis:46px}
  #vsa-widget-root .vsa-send{min-width:70px;padding:0 12px !important}
}

@media(prefers-reduced-motion:reduce){
  #vsa-widget-root *,#vsa-widget-root *::before,#vsa-widget-root *::after{animation:none !important;transition:none !important}
}

@media print{#vsa-widget-root{display:none !important}}
