*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:host,.londi-root{--londi-primary: #1a73e8;--londi-primary-dark: #1557b0;--londi-primary-light: #e8f0fe;--londi-surface: #ffffff;--londi-surface-alt: #f8f9fa;--londi-border: #e0e0e0;--londi-text: #202124;--londi-text-muted: #5f6368;--londi-user-bubble: #1a73e8;--londi-user-bubble-text: #ffffff;--londi-assistant-bubble: #f1f3f4;--londi-assistant-bubble-text: #202124;--londi-error: #d93025;--londi-warning-bg: #fff8e1;--londi-warning-border: #f9a825;--londi-shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .08);--londi-shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--londi-shadow-lg: 0 10px 25px rgba(0, 0, 0, .15), 0 4px 10px rgba(0, 0, 0, .08);--londi-radius-sm: 6px;--londi-radius-md: 12px;--londi-radius-lg: 20px;--londi-radius-full: 9999px;--londi-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, sans-serif;--londi-bubble-size: 60px;--londi-panel-width: 400px;--londi-panel-height: 600px;--londi-z-bubble: 2147483646;--londi-z-panel: 2147483647;font-family:var(--londi-font);color:var(--londi-text)}.londi-bubble{position:fixed;bottom:24px;right:24px;z-index:var(--londi-z-bubble);width:var(--londi-bubble-size);height:var(--londi-bubble-size);border-radius:var(--londi-radius-full);background-color:var(--londi-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--londi-shadow-lg);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease;outline:none;-webkit-tap-highlight-color:transparent}.londi-bubble:hover{background-color:var(--londi-primary-dark);transform:scale(1.05);box-shadow:0 12px 28px #0003,0 4px 12px #0000001a}.londi-bubble:focus-visible{outline:3px solid var(--londi-primary-light);outline-offset:2px}.londi-bubble:active{transform:scale(.97)}.londi-bubble__icon{width:28px;height:28px;fill:#fff;transition:opacity .15s ease}.londi-bubble__unread{position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:var(--londi-radius-full);background-color:#ea4335;border:2px solid #ffffff;animation:londi-pulse 2s infinite}@keyframes londi-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}.londi-panel{position:fixed;bottom:calc(var(--londi-bubble-size) + 32px);right:24px;z-index:var(--londi-z-panel);width:var(--londi-panel-width);height:var(--londi-panel-height);background-color:var(--londi-surface);border-radius:var(--londi-radius-lg);box-shadow:var(--londi-shadow-lg);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--londi-border);transform-origin:bottom right;animation:londi-panel-in .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes londi-panel-in{0%{opacity:0;transform:scale(.85) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.londi-panel--closing{animation:londi-panel-out .18s ease-in forwards}@keyframes londi-panel-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.88) translateY(8px)}}.londi-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,var(--londi-primary) 0%,var(--londi-primary-dark) 100%);color:#fff;flex-shrink:0}.londi-header__avatar{width:36px;height:36px;border-radius:var(--londi-radius-full);background-color:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.londi-header__avatar svg{width:20px;height:20px;fill:#fff}.londi-header__info{flex:1;min-width:0}.londi-header__title{font-size:15px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.londi-header__subtitle{font-size:12px;opacity:.85;line-height:1.2;margin-top:1px}.londi-header__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.londi-header__btn{width:32px;height:32px;border-radius:var(--londi-radius-full);border:none;background:#ffffff26;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease;font-size:13px;font-weight:600;font-family:var(--londi-font)}.londi-header__btn:hover{background:#ffffff47}.londi-header__btn:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:1px}.londi-header__btn svg{width:16px;height:16px;fill:currentColor}.londi-lang-btn{font-size:11px;font-weight:700;letter-spacing:.03em;padding:0 6px;width:auto;min-width:32px}.londi-privacy{background-color:var(--londi-warning-bg);border-bottom:1px solid var(--londi-warning-border);padding:10px 14px;display:flex;align-items:flex-start;gap:8px;flex-shrink:0}.londi-privacy__icon{flex-shrink:0;margin-top:1px;color:#f57c00}.londi-privacy__icon svg{width:16px;height:16px;fill:currentColor}.londi-privacy__text{flex:1;font-size:12px;line-height:1.5;color:#5d4037}.londi-privacy__dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;color:#5d4037;padding:2px;border-radius:var(--londi-radius-sm);display:flex;align-items:center;justify-content:center;transition:color .15s ease}.londi-privacy__dismiss:hover{color:var(--londi-error)}.londi-privacy__dismiss svg{width:14px;height:14px;fill:currentColor}.londi-messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 14px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--londi-border) transparent}.londi-messages::-webkit-scrollbar{width:5px}.londi-messages::-webkit-scrollbar-track{background:transparent}.londi-messages::-webkit-scrollbar-thumb{background-color:var(--londi-border);border-radius:var(--londi-radius-full)}.londi-message{display:flex;flex-direction:column;max-width:85%;animation:londi-msg-in .18s ease-out forwards}@keyframes londi-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.londi-message--user{align-self:flex-end;align-items:flex-end}.londi-message--assistant{align-self:flex-start;align-items:flex-start}.londi-message__bubble{padding:10px 14px;border-radius:var(--londi-radius-md);font-size:14px;line-height:1.55;word-break:break-word;white-space:pre-wrap}.londi-message__markdown{white-space:normal}.londi-message__markdown p{margin:0 0 8px}.londi-message__markdown p:last-child{margin-bottom:0}.londi-message__markdown strong{font-weight:600}.londi-message__markdown ul{margin:4px 0 8px;padding-left:18px;list-style:disc}.londi-message__markdown li{margin:2px 0}.londi-message__markdown code{background:#0000000f;padding:1px 4px;border-radius:3px;font-size:13px;font-family:monospace}.londi-message__markdown pre{background:#0000000f;padding:8px 10px;border-radius:4px;overflow-x:auto;margin:4px 0 8px;font-size:13px}.londi-message__markdown a{color:var(--londi-primary);text-decoration:underline}.londi-message--user .londi-message__bubble{background-color:var(--londi-user-bubble);color:var(--londi-user-bubble-text);border-bottom-right-radius:var(--londi-radius-sm)}.londi-message--assistant .londi-message__bubble{background-color:var(--londi-assistant-bubble);color:var(--londi-assistant-bubble-text);border-bottom-left-radius:var(--londi-radius-sm)}.londi-message__timestamp{font-size:11px;color:var(--londi-text-muted);margin-top:4px;padding:0 4px}.londi-sources{margin-top:6px;padding:8px 10px;background-color:var(--londi-primary-light);border-radius:var(--londi-radius-sm);border-left:3px solid var(--londi-primary)}.londi-sources__label{font-size:11px;font-weight:600;color:var(--londi-primary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.londi-sources__list{list-style:none;display:flex;flex-direction:column;gap:3px}.londi-sources__link{font-size:12px;color:var(--londi-primary);text-decoration:none;word-break:break-all;display:block}.londi-sources__link:hover{text-decoration:underline}.londi-typing{display:flex;align-items:center;gap:5px;padding:10px 14px;background-color:var(--londi-assistant-bubble);border-radius:var(--londi-radius-md);border-bottom-left-radius:var(--londi-radius-sm);width:fit-content}.londi-typing__dot{width:8px;height:8px;border-radius:var(--londi-radius-full);background-color:var(--londi-text-muted);animation:londi-bounce 1.3s ease-in-out infinite}.londi-typing__dot:nth-child(1){animation-delay:0s}.londi-typing__dot:nth-child(2){animation-delay:.2s}.londi-typing__dot:nth-child(3){animation-delay:.4s}@keyframes londi-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}.londi-status-bar{padding:8px 14px;font-size:12px;line-height:1.4;text-align:center;flex-shrink:0}.londi-status-bar--error{background-color:#fce8e6;color:var(--londi-error);border-top:1px solid #f5c6c3}.londi-status-bar--warning{background-color:var(--londi-warning-bg);color:#b06000;border-top:1px solid var(--londi-warning-border)}.londi-input-area{padding:12px 14px;background-color:var(--londi-surface);border-top:1px solid var(--londi-border);flex-shrink:0}.londi-input-row{display:flex;align-items:flex-end;gap:8px;background-color:var(--londi-surface-alt);border:1.5px solid var(--londi-border);border-radius:var(--londi-radius-lg);padding:8px 8px 8px 14px;transition:border-color .15s ease,box-shadow .15s ease}.londi-input-row:focus-within{border-color:var(--londi-primary);box-shadow:0 0 0 3px #1a73e81f;background-color:var(--londi-surface)}.londi-textarea{flex:1;border:none;outline:none;background:transparent;font-family:var(--londi-font);font-size:14px;line-height:1.5;color:var(--londi-text);resize:none;max-height:120px;min-height:22px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--londi-border) transparent}.londi-textarea::placeholder{color:var(--londi-text-muted)}.londi-textarea:disabled{opacity:.6;cursor:not-allowed}.londi-send-btn{width:36px;height:36px;border-radius:var(--londi-radius-full);border:none;background-color:var(--londi-primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s ease,transform .1s ease}.londi-send-btn:hover:not(:disabled){background-color:var(--londi-primary-dark);transform:scale(1.05)}.londi-send-btn:focus-visible{outline:3px solid var(--londi-primary-light);outline-offset:2px}.londi-send-btn:disabled{background-color:var(--londi-border);cursor:not-allowed;transform:none}.londi-send-btn svg{width:18px;height:18px;fill:currentColor}.londi-input-footer{margin-top:6px;display:flex;justify-content:center}.londi-powered-by{font-size:11px;color:var(--londi-text-muted)}.londi-powered-by a{color:var(--londi-primary);text-decoration:none}.londi-powered-by a:hover{text-decoration:underline}.londi-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;color:var(--londi-text-muted);gap:12px}.londi-empty-state__icon{width:48px;height:48px;fill:var(--londi-border)}.londi-empty-state__title{font-size:15px;font-weight:600;color:var(--londi-text)}.londi-empty-state__body{font-size:13px;line-height:1.6;max-width:280px}@media (max-width: 767px){.londi-panel{position:fixed;inset:0;width:100%;height:100%;border-radius:0;border:none;animation:londi-panel-mobile-in .22s ease-out forwards}@keyframes londi-panel-mobile-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.londi-bubble{bottom:16px;right:16px}}.londi-standalone{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:#f0f4f8}.londi-standalone .londi-panel{position:relative;bottom:auto;right:auto;animation:none}
