#labot-widget {
  --labot-accent: hsl(var(--primary, 172 100% 45%));
  --labot-accent-soft: hsl(var(--primary, 172 100% 45%) / .12);
  --labot-accent-border: hsl(var(--primary, 172 100% 45%) / .42);
  --labot-foreground: hsl(var(--foreground, 222 47% 11%));
  --labot-muted: hsl(var(--muted-foreground, 215 16% 47%));
  --labot-surface: hsl(var(--card, 0 0% 100%));
  --labot-border: hsl(var(--border, 214 32% 91%));
  --labot-blue: hsl(var(--primary, 172 100% 45%));
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 2147483000;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.labot-task.is-locked { border-style: dashed; opacity: .72; }
.labot-task.is-locked:hover { transform: none; border-color: var(--labot-accent-border); background: var(--labot-accent-soft); }
.labot-task.is-locked .labot-task-icon { color: var(--labot-accent); background: var(--labot-accent-soft); }
.labot-upgrade { padding: 16px 4px 4px; text-align: center; }
.labot-upgrade-icon { display: grid; place-items: center; width: 44px; height: 44px; margin: 0 auto 12px; border-radius: 50%; color: var(--labot-accent); background: var(--labot-accent-soft); font-weight: 900; }
.labot-upgrade h2 { margin-bottom: 8px; }
.labot-upgrade p { max-width: 290px; margin: 0 auto 18px; }

#labot-widget * { box-sizing: border-box; }

.labot-launcher {
  position: relative;
  width: 102px;
  height: 102px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}

.labot-launcher:hover { transform: translateY(-4px) scale(1.06); filter: drop-shadow(0 12px 18px color-mix(in srgb, var(--labot-accent) 30%, transparent)); }
.labot-launcher-mascote { display: block; width: 100%; height: 100%; object-fit: contain; animation: labot-float 3.8s ease-in-out infinite; transform-origin: 50% 86%; }

@keyframes labot-float {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-7px) rotate(1deg); }
}

.labot-launcher::after { content: ""; position: absolute; inset: 12% 18% 5%; pointer-events: none; border-radius: 50%; background: var(--labot-accent); opacity: .08; filter: blur(22px); animation: labot-glow 3.8s ease-in-out infinite; }
@keyframes labot-glow { 0%, 100% { opacity: .04; transform: scale(.88); } 50% { opacity: .16; transform: scale(1.04); } }

@media (prefers-reduced-motion: reduce) {
  .labot-launcher-mascote, .labot-launcher::after { animation: none; }
}

.labot-panel {
  position: absolute;
  right: 0;
  bottom: 92px;
  width: min(390px, calc(100vw - 32px));
  max-height: min(720px, calc(100vh - 120px));
  overflow: auto;
  color: var(--labot-foreground);
  background: color-mix(in srgb, var(--labot-surface) 97%, var(--labot-accent) 3%);
  border: 1px solid var(--labot-accent-border);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .5);
  opacity: 0;
  transform: translateY(12px) scale(.98);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.labot-panel.is-open { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }
.labot-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 17px; border-bottom: 1px solid rgba(255,255,255,.09); }
.labot-brand { display: flex; align-items: center; gap: 10px; }
.labot-brand img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: #fff; }
.labot-brand strong { display: block; font-size: 15px; letter-spacing: -.01em; }
.labot-brand span { display: block; margin-top: 2px; color: var(--labot-muted); font-size: 11px; }
.labot-close, .labot-back { border: 0; color: var(--labot-muted); background: transparent; cursor: pointer; font-size: 22px; line-height: 1; }
.labot-body { padding: 17px; }
.labot-body h2 { margin: 0 0 6px; font-size: 18px; }
.labot-body p { margin: 0 0 16px; color: var(--labot-muted); font-size: 12px; line-height: 1.5; }
.labot-tasks { display: grid; gap: 9px; }
.labot-task { display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px; text-align: left; border: 1px solid var(--labot-border); border-radius: 12px; color: var(--labot-foreground); background: color-mix(in srgb, var(--labot-surface) 94%, var(--labot-accent) 6%); cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.labot-task:hover { border-color: var(--labot-accent-border); background: var(--labot-accent-soft); transform: translateX(2px); }
.labot-task-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; color: var(--labot-accent); background: var(--labot-accent-soft); font-weight: 800; }
.labot-task strong { display: block; font-size: 13px; }
.labot-task small { display: block; margin-top: 3px; color: var(--labot-muted); font-size: 11px; }
.labot-form { display: grid; gap: 11px; }
.labot-label { color: var(--labot-foreground); font-size: 11px; font-weight: 700; }
.labot-input, .labot-textarea { width: 100%; border: 1px solid var(--labot-border); border-radius: 10px; outline: none; color: var(--labot-foreground); background: color-mix(in srgb, var(--labot-surface) 92%, var(--labot-accent) 8%); font: inherit; font-size: 12px; }
.labot-input { height: 42px; padding: 0 12px; }
.labot-textarea { min-height: 140px; padding: 12px; resize: vertical; }
.labot-input:focus, .labot-textarea:focus { border-color: var(--labot-accent); box-shadow: 0 0 0 3px var(--labot-accent-soft); }
.labot-options { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.labot-check { display: flex; align-items: center; gap: 8px; color: var(--labot-muted); font-size: 11px; }
.labot-feed-note { margin: -4px 0 0; color: var(--labot-muted); font-size: 11px; line-height: 1.4; }
.labot-primary { width: 100%; min-height: 42px; border: 0; border-radius: 10px; color: hsl(var(--primary-foreground, 0 0% 100%)); background: var(--labot-accent); font-size: 12px; font-weight: 800; cursor: pointer; }
.labot-primary:disabled { opacity: .55; cursor: wait; }
.labot-message { margin-top: 11px; padding: 10px; border-radius: 9px; color: #ffcfcc; background: rgba(239,68,68,.12); font-size: 11px; line-height: 1.45; }
.labot-result { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.09); }
.labot-result h3 { margin: 0 0 8px; font-size: 13px; }
.labot-result pre { max-height: 270px; overflow: auto; margin: 0; padding: 11px; white-space: pre-wrap; word-break: break-word; border-radius: 9px; color: #d9fffa; background: rgba(0,0,0,.28); font: 11px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; }
.labot-copy { margin-top: 9px; padding: 8px 11px; border: 1px solid var(--labot-accent-border); border-radius: 8px; color: var(--labot-accent); background: transparent; cursor: pointer; font-size: 11px; }

#labot-widget.dark .labot-panel,
.dark #labot-widget .labot-panel { --labot-surface: hsl(var(--card, 222 47% 7%)); --labot-foreground: hsl(var(--foreground, 210 40% 98%)); --labot-muted: hsl(var(--muted-foreground, 215 20% 65%)); --labot-border: hsl(var(--border, 217 33% 18%)); }

@media (max-width: 560px) {
  #labot-widget { right: 14px; bottom: 14px; }
  .labot-launcher { width: 88px; height: 88px; }
  .labot-panel { bottom: 80px; }
}
