.bc-widget{--bc-primary: #6366f1;--bc-primary-contrast: #ffffff;--bc-bg: #ffffff;--bc-text: #1f2937;--bc-muted: #f3f4f6;--bc-radius: 16px;--bc-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bc-z: 9999;--bc-shadow: 0 12px 40px rgba(0, 0, 0, .18);--bc-offset: 24px;position:fixed;display:flex;flex-direction:column;gap:14px;z-index:var(--bc-z);font-family:var(--bc-font);color:var(--bc-text);line-height:1.45}.bc-widget *,.bc-widget *:before,.bc-widget *:after{box-sizing:border-box}.bc-widget--bottom-right{bottom:var(--bc-offset);right:var(--bc-offset);align-items:flex-end}.bc-widget--bottom-left{bottom:var(--bc-offset);left:var(--bc-offset);align-items:flex-start}.bc-widget--top-right{top:var(--bc-offset);right:var(--bc-offset);align-items:flex-end;flex-direction:column-reverse}.bc-widget--top-left{top:var(--bc-offset);left:var(--bc-offset);align-items:flex-start;flex-direction:column-reverse}.bc-widget--bottom-right .bc-window{transform-origin:bottom right}.bc-widget--bottom-left .bc-window{transform-origin:bottom left}.bc-widget--top-right .bc-window{transform-origin:top right}.bc-widget--top-left .bc-window{transform-origin:top left}.bc-launcher{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;border-radius:50%;background:var(--bc-primary);color:var(--bc-primary-contrast);cursor:pointer;box-shadow:0 6px 20px #00000038;transition:transform .15s ease,box-shadow .15s ease}.bc-launcher:hover{transform:scale(1.06);box-shadow:0 8px 26px #00000042}.bc-launcher:active{transform:scale(.97)}.bc-window{display:flex;flex-direction:column;width:380px;height:540px;max-height:calc(100vh - 120px);overflow:hidden;background:var(--bc-bg);border-radius:var(--bc-radius);box-shadow:var(--bc-shadow);animation:bc-pop .18s ease-out}@keyframes bc-pop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.bc-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--bc-primary);color:var(--bc-primary-contrast)}.bc-header__title{font-size:15px;font-weight:600}.bc-header__close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background .15s ease}.bc-header__close:hover{background:#ffffff2e}.bc-messages{display:flex;flex-direction:column;gap:8px;flex:1;padding:16px;overflow-y:auto;scrollbar-width:thin}.bc-bubble{max-width:82%;padding:9px 13px;border-radius:calc(var(--bc-radius) * .85);font-size:14px;white-space:pre-wrap;overflow-wrap:break-word;animation:bc-msg-in .16s ease-out}@keyframes bc-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bc-bubble--user{align-self:flex-end;background:var(--bc-primary);color:var(--bc-primary-contrast);border-bottom-right-radius:4px}.bc-bubble--assistant{align-self:flex-start;background:var(--bc-muted);color:var(--bc-text);border-bottom-left-radius:4px}.bc-bubble--error{align-self:flex-start;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.bc-typing{display:flex;align-items:center;gap:4px;padding:13px}.bc-typing span{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.4;animation:bc-typing 1.1s infinite ease-in-out}.bc-typing span:nth-child(2){animation-delay:.15s}.bc-typing span:nth-child(3){animation-delay:.3s}@keyframes bc-typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.bc-input{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--bc-muted);background:var(--bc-bg)}.bc-input__field{flex:1;min-height:38px;max-height:110px;padding:9px 13px;border:1px solid #e5e7eb;border-radius:calc(var(--bc-radius) * .85);background:var(--bc-bg);color:var(--bc-text);font:inherit;font-size:14px;resize:none;outline:none;transition:border-color .15s ease}.bc-input__field:focus{border-color:var(--bc-primary)}.bc-input__send{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border:none;border-radius:50%;background:var(--bc-primary);color:var(--bc-primary-contrast);cursor:pointer;transition:opacity .15s ease,transform .15s ease}.bc-input__send:hover:not(:disabled){transform:scale(1.06)}.bc-input__send:disabled{opacity:.45;cursor:default}@media(max-width:480px){.bc-widget{--bc-offset: 16px}.bc-window{position:fixed;width:auto;height:auto;max-height:none}.bc-widget--bottom-right .bc-window,.bc-widget--bottom-left .bc-window{top:16px;right:16px;bottom:88px;left:16px}.bc-widget--top-right .bc-window,.bc-widget--top-left .bc-window{top:88px;right:16px;bottom:16px;left:16px}}@media(prefers-reduced-motion:reduce){.bc-window,.bc-bubble,.bc-typing span{animation:none}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:#172033;background:linear-gradient(135deg,rgba(37,99,235,.12),transparent 34%),linear-gradient(315deg,rgba(20,184,166,.16),transparent 30%),#f7f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.demo-shell{display:grid;min-height:100vh;place-items:center;padding:32px}.demo-panel{width:min(720px,100%)}.demo-kicker{margin:0 0 14px;color:#2563eb;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.demo-panel h1{max-width:680px;margin:0;color:#111827;font-size:64px;line-height:.96;letter-spacing:0}.demo-description{max-width:620px;margin:22px 0 0;color:#475569;font-size:18px;line-height:1.65}.demo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.demo-language{min-height:42px;padding:0 16px;border:1px solid #cbd5e1;border-radius:8px;color:#1f2937;background:#fff;cursor:pointer}.demo-language--active{border-color:#2563eb;color:#fff;background:#2563eb}.demo-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:34px 0 0}.demo-facts div{padding:14px 0;border-top:1px solid #cbd5e1}.demo-facts dt{color:#64748b;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.demo-facts dd{margin:6px 0 0;color:#172033;font-size:15px}@media(max-width:640px){.demo-shell{align-items:start;padding:28px 18px 120px}.demo-panel h1{font-size:40px;line-height:1}.demo-description{font-size:16px}.demo-facts{grid-template-columns:1fr;gap:0}}.demo-position{margin-top:28px}.demo-position__label{display:block;margin-bottom:8px;color:#64748b;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.demo-position .demo-actions{margin-top:0}.demo-position .demo-language{min-width:46px;font-size:18px;line-height:1}.demo-toggles{display:flex;flex-wrap:wrap;gap:24px}.admin-card{margin-top:30px;padding:22px;border:1px solid #cbd5e1;border-radius:14px;background:#fff}.admin-card h2{margin:0;font-size:22px;color:#111827}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-hint{margin:8px 0 18px;color:#64748b;font-size:13px}.admin-hint code{font-size:12px}.admin-login{display:flex;flex-wrap:wrap;gap:10px}.admin-login input,.admin-add input,.admin-limit-input{min-height:40px;padding:0 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.admin-login input{flex:1 1 220px}.admin-login button,.admin-add button,.admin-actions button,.admin-lock{min-height:40px;padding:0 14px;border:1px solid #2563eb;border-radius:8px;color:#fff;background:#2563eb;cursor:pointer}.admin-lock{min-height:34px;border-color:#cbd5e1;color:#1f2937;background:#fff}.admin-login button:disabled,.admin-add button:disabled,.admin-actions button:disabled{opacity:.5;cursor:not-allowed}.admin-table{width:100%;margin-top:4px;border-collapse:collapse;font-size:14px}.admin-table th,.admin-table td{padding:10px 8px;border-bottom:1px solid #e2e8f0;text-align:left}.admin-table th{color:#64748b;font-size:12px;text-transform:uppercase}.admin-origin{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.admin-limit-input{width:110px;min-height:34px}.admin-used--warn{color:#b45309;font-weight:700}.admin-empty{color:#94a3b8;text-align:center}.admin-actions{display:flex;gap:8px}.admin-actions .admin-delete{border-color:#dc2626;color:#dc2626;background:#fff}.admin-add{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.admin-add input[type=text]{flex:1 1 240px}.admin-error{margin:14px 0 0;color:#dc2626;font-size:14px}
