.theme-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.theme-toggle:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-hover);opacity:1}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;opacity:1}.theme-toggle .theme-toggle__icon{opacity:1;filter:none}.theme-toggle__icon{font-size:var(--font-size-lg);line-height:1}.language-switcher{display:flex;gap:var(--space-xs)}.language-switcher__button{display:flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 var(--space-md);font-size:var(--font-size-sm);font-weight:500;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all var(--transition-base)}.language-switcher__button:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border-hover);color:var(--color-text)}.language-switcher__button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--color-text)}.language-switcher__button--active{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.language-switcher__button--active:hover{background-color:var(--color-accent-hover);color:#fff}.language-switcher__button--active:focus-visible{color:#fff}.header{position:sticky;top:0;z-index:var(--z-sticky);border-bottom:1px solid var(--color-border);backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.9)}[data-theme=dark] .header{background-color:rgba(15,23,42,.9)}.header__container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md)}@media(min-width:768px){.header__container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.header__container{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-md);padding-bottom:var(--space-md);gap:var(--space-lg)}@media(max-width:1023px){.header__container{gap:var(--space-sm)}}.header__logo{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-weight:700;font-size:var(--font-size-lg);background:linear-gradient(135deg,var(--color-accent) 0,#8b5cf6 100%);color:#fff;border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-base);box-shadow:0 2px 8px rgba(59,130,246,.3)}.header__logo:hover{background:linear-gradient(135deg,var(--color-accent-hover) 0,#7c3aed 100%);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px rgba(59,130,246,.4)}.header__logo:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:#fff}.header__logo svg{width:20px;height:20px}.header__logo-text{line-height:1}.header__nav{display:none;gap:var(--space-md);align-items:center}@media(min-width:1024px){.header__nav{display:flex}}.header__nav--open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-lg);gap:var(--space-sm)}@media(min-width:1024px){.header__nav--open{position:static;flex-direction:row;padding:0;background-color:rgba(0,0,0,0);border-bottom:none}}.header__nav-link{padding:var(--space-sm) var(--space-md);font-weight:500;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-base);white-space:nowrap}.header__nav-link:hover{color:var(--color-text);background-color:var(--color-bg-elevated)}.header__nav-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--color-text)}.header__nav-link--active{color:var(--color-accent);background-color:var(--color-bg-elevated)}.header__nav-link--active:hover{color:var(--color-accent);background-color:var(--color-bg-secondary)}@media(min-width:1024px){.header__nav-link{padding:var(--space-xs) var(--space-md)}}.header__actions{display:flex;align-items:center;gap:var(--space-md);margin-left:auto}@media(max-width:1023px){.header__actions{gap:var(--space-sm)}}.header__menu-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background-color:rgba(0,0,0,0);border:none;color:var(--color-text);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base)}.header__menu-toggle:hover{background-color:var(--color-bg-elevated);color:var(--color-text)}.header__menu-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;color:var(--color-text)}@media(min-width:1024px){.header__menu-toggle{display:none}}.header__menu-icon{font-size:var(--font-size-xl);line-height:1}.footer{margin-top:auto;padding-top:var(--space-xl);padding-bottom:var(--space-xl);background-color:var(--color-bg-elevated);border-top:1px solid var(--color-border)}.footer__container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md)}@media(min-width:768px){.footer__container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.footer__content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-align:center}@media(min-width:768px){.footer__content{flex-direction:row;justify-content:space-between}}.footer__built-with,.footer__copyright{font-size:var(--font-size-sm);font-weight:400;line-height:var(--line-height-base);color:var(--color-text-muted)}.footer__built-with{color:var(--color-text-light)}.message-renderer{width:100%}.message-renderer__text{margin-bottom:var(--space-sm)}.message-renderer__text:last-child{margin-bottom:0}.message-renderer__section{margin:var(--space-md) 0}.message-renderer__section:first-child{margin-top:0}.message-renderer__section:last-child{margin-bottom:0}.message-renderer__markdown{font-size:var(--font-size-base);font-weight:400;line-height:var(--line-height-base);line-height:1.6;color:inherit}.message-renderer__markdown p{margin:0 0 var(--space-sm) 0}.message-renderer__markdown p:last-child{margin-bottom:0}.message-renderer__markdown h1,.message-renderer__markdown h2,.message-renderer__markdown h3,.message-renderer__markdown h4,.message-renderer__markdown h5,.message-renderer__markdown h6{margin:var(--space-md) 0 var(--space-sm) 0;font-weight:600;line-height:1.3}.message-renderer__markdown h1:first-child,.message-renderer__markdown h2:first-child,.message-renderer__markdown h3:first-child,.message-renderer__markdown h4:first-child,.message-renderer__markdown h5:first-child,.message-renderer__markdown h6:first-child{margin-top:0}.message-renderer__markdown h1{font-size:var(--font-size-2xl)}.message-renderer__markdown h2{font-size:var(--font-size-xl)}.message-renderer__markdown h3{font-size:var(--font-size-lg)}.message-renderer__markdown h4{font-size:var(--font-size-base)}.message-renderer__markdown strong{font-weight:600;color:inherit}.message-renderer__markdown em{font-style:italic}.message-renderer__markdown a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid rgba(0,0,0,0);transition:all .2s ease}.message-renderer__markdown a:hover{border-bottom-color:var(--color-accent);color:var(--color-accent-hover)}.message-renderer__markdown code{background:var(--color-bg-secondary);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875em;color:var(--color-accent);border:1px solid var(--color-border)}.message-renderer__markdown pre{margin:var(--space-sm) 0;padding:0;background:rgba(0,0,0,0);border-radius:0}.message-renderer__markdown pre code{background:rgba(0,0,0,0);padding:0;border:none;color:inherit}.message-renderer__markdown blockquote{margin:var(--space-sm) 0;padding:var(--space-sm) var(--space-md);border-left:3px solid var(--color-accent);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-style:italic}.message-renderer__markdown ol,.message-renderer__markdown ul{margin:var(--space-sm) 0;padding-left:var(--space-lg)}.message-renderer__markdown li{margin:var(--space-xs) 0}.message-renderer__list{margin:var(--space-sm) 0;padding-left:var(--space-lg);list-style-position:outside}.message-renderer__list-item{margin:var(--space-xs) 0;line-height:1.6}.message-renderer__list-item::marker{color:var(--color-accent)}.message-renderer__table-wrapper{margin:var(--space-md) 0;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}.message-renderer__table{width:100%;border-collapse:collapse;background:var(--color-bg-elevated);font-size:var(--font-size-sm)}.message-renderer__table-header{padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);font-weight:600;text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text)}.message-renderer__table-row{border-bottom:1px solid var(--color-border)}.message-renderer__table-row:last-child{border-bottom:none}.message-renderer__table-row:hover{background:var(--color-bg-secondary)}.message-renderer__table-cell{padding:var(--space-sm) var(--space-md);color:var(--color-text);vertical-align:top}.message-renderer__code-wrapper{margin:var(--space-md) 0;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);overflow:hidden;position:relative}.message-renderer__code-language{position:absolute;top:0;right:0;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border-bottom-left-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-light);font-family:Monaco,Menlo,Ubuntu Mono,monospace;text-transform:uppercase;border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.message-renderer__code{margin:0;padding:var(--space-md);overflow-x:auto;background:var(--color-bg-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text)}.message-renderer__code code{background:rgba(0,0,0,0);padding:0;border:none;color:inherit;font-size:inherit}.message-renderer__image-wrapper{margin:var(--space-md) 0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-secondary)}.message-renderer__image{width:100%;height:auto;display:block;max-width:100%}.message-renderer__image-caption{padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);font-size:var(--font-size-xs);color:var(--color-text-light);text-align:center;border-top:1px solid var(--color-border)}@media(prefers-color-scheme:dark){.message-renderer__code{background:rgba(0,0,0,.3)}.message-renderer__table{background:var(--color-bg-elevated)}.message-renderer__table-header{background:rgba(0,0,0,.2)}}.chat-widget{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-modal)}@media(max-width:768px){.chat-widget{bottom:var(--space-md);right:var(--space-md)}}.chat-widget__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--color-overlay-accent-light) 0,var(--color-overlay-purple) 100%);backdrop-filter:blur(64px) saturate(180%);-webkit-backdrop-filter:blur(64px) saturate(180%);z-index:calc(var(--z-modal) - 1);animation:backdropFadeIn .3s cubic-bezier(.4,0,.2,1);cursor:pointer;pointer-events:auto}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.chat-widget__toggle{position:relative;width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-purple) 100%);color:#fff;border:none;cursor:pointer;box-shadow:0 8px 32px var(--color-overlay-accent-strong),0 0 0 0 var(--color-overlay-accent-stronger);display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:visible}.chat-widget__toggle:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 12px 40px var(--color-overlay-accent-stronger),0 0 0 4px var(--color-overlay-accent-medium)}.chat-widget__toggle:active{transform:scale(.95)}.chat-widget__toggle--active{background:linear-gradient(135deg,var(--color-danger) 0,var(--color-danger-dark) 100%);box-shadow:0 8px 32px var(--color-overlay-danger-strong)}.chat-widget__toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.chat-widget__toggle svg{width:24px;height:24px;position:relative;z-index:1;filter:drop-shadow(0 2px 4px var(--color-overlay-black-medium))}.chat-widget__toggle-pulse{position:absolute;inset:-4px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-purple) 100%);opacity:.6;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;z-index:0}@keyframes pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:0}}.chat-widget__container{position:fixed;bottom:var(--space-lg);right:var(--space-lg);width:420px;max-width:calc(100vw - var(--space-xl));height:650px;max-height:calc(100vh - var(--space-lg) - var(--space-lg));background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 20px 60px var(--color-overlay-black-strong),0 0 0 1px var(--color-overlay-white-light) inset,0 0 40px var(--color-overlay-accent-medium);display:flex;flex-direction:column;overflow:hidden;animation:slideUpFromButton .4s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(48px);-webkit-backdrop-filter:blur(48px);z-index:var(--z-modal);pointer-events:auto;transform-origin:bottom right;top:auto;left:auto}@media(max-width:768px){.chat-widget__container{width:calc(100vw - var(--space-md)*2);max-height:calc(100dvh - var(--space-md)*2);height:calc(100dvh - var(--space-md)*2);bottom:var(--space-md);right:var(--space-md);left:var(--space-md);top:var(--space-md)}}@media(max-width:768px)and (max-height:800px){.chat-widget__container{max-height:calc(100dvh - var(--space-md)*2);height:calc(100dvh - var(--space-md)*2)}}@keyframes slideUpFromButton{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:768px){@keyframes slideUpFromButtonMobile{0%{opacity:0;transform:scale(.1)}to{opacity:1;transform:scale(1)}}.chat-widget__container{animation:slideUpFromButtonMobile .4s cubic-bezier(.34,1.56,.64,1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-widget__header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-purple) 100%);color:#fff;position:sticky;top:0;overflow:hidden;flex-shrink:0;z-index:10;min-height:72px}@media(max-width:768px){.chat-widget__header{padding:var(--space-md);min-height:64px}}.chat-widget__header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,var(--color-overlay-white-light) 50%,transparent 70%);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.chat-widget__header-info{flex:1;display:flex;align-items:center;gap:var(--space-sm);position:relative;z-index:1}.chat-widget__status-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-success);box-shadow:0 0 8px var(--color-success);animation:pulseDot 2s infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.chat-widget__title{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);margin:0;color:#fff;font-size:var(--font-size-lg);font-weight:600;text-shadow:0 2px 4px var(--color-overlay-black-medium)}@media(max-width:768px){.chat-widget__title{font-size:var(--font-size-base)}}.chat-widget__subtitle{font-size:var(--font-size-sm);font-weight:400;line-height:var(--line-height-base);color:var(--color-text-muted);margin:0;color:hsla(0,0%,100%,.9);font-size:var(--font-size-xs)}@media(max-width:768px){.chat-widget__subtitle{font-size:.65rem;line-height:1.3}}.chat-widget__header-actions{gap:var(--space-xs)}.chat-widget__header-actions,.chat-widget__reset{display:flex;align-items:center;position:relative;z-index:1}.chat-widget__reset{width:2.5rem;height:2.5rem;border:none;background:var(--color-overlay-white-light);color:#fff;cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease;justify-content:center}.chat-widget__reset:hover{background:var(--color-overlay-white-medium);transform:rotate(180deg)}.chat-widget__reset:focus-visible{outline:2px solid #fff;outline-offset:2px}.chat-widget__reset svg{width:16px;height:16px}.chat-widget__close{width:2.5rem;height:2.5rem;border:none;background:var(--color-overlay-white-light);color:#fff;cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.chat-widget__close:hover{background:var(--color-overlay-white-medium);transform:rotate(90deg)}.chat-widget__close:focus-visible{outline:2px solid #fff;outline-offset:2px}.chat-widget__close svg{width:18px;height:18px}.chat-widget__messages{flex:1;overflow-y:auto;padding:var(--space-sm);display:flex;flex-direction:column;gap:.5rem;background:var(--color-bg);position:relative;scroll-behavior:smooth;min-height:0;overflow-anchor:none}@media(max-width:768px){.chat-widget__messages{padding:var(--space-xs);gap:.375rem;min-height:0}}.chat-widget__messages:before{content:"";position:absolute;top:0;left:0;right:0;height:20px;background:linear-gradient(to bottom,var(--color-bg-elevated),transparent);pointer-events:none;z-index:1}.chat-widget__messages::-webkit-scrollbar{width:6px}.chat-widget__messages::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.chat-widget__messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill);transition:background .2s}.chat-widget__messages::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.chat-widget__message{display:flex;gap:.5rem;width:100%;animation:messageSlide .3s cubic-bezier(.4,0,.2,1);align-self:flex-start}@media(max-width:768px){.chat-widget__message{width:100%;gap:.375rem}}.chat-widget__message--user{align-self:flex-end;flex-direction:row-reverse;justify-content:flex-end}.chat-widget__message--assistant{align-self:flex-start;justify-content:flex-start}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-widget__message-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-bg-secondary);border:1px solid var(--color-border);margin-top:.125rem}@media(max-width:768px){.chat-widget__message-avatar{width:20px;height:20px;border-width:1px}.chat-widget__message-avatar svg{width:12px;height:12px}}.chat-widget__message--user .chat-widget__message-avatar{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-purple) 100%);border-color:var(--color-accent);color:#fff}.chat-widget__ai-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-success) 0,var(--color-success-light) 100%);border-radius:50%;color:#fff;animation:aiPulse 2s infinite}@keyframes aiPulse{0%,to{box-shadow:0 0 0 0 var(--color-overlay-success)}50%{box-shadow:0 0 0 8px var(--color-overlay-success-glow)}}.chat-widget__message-content{display:flex;flex-direction:column;gap:0;flex:1;min-width:0;max-width:calc(100% - 32px)}@media(max-width:768px){.chat-widget__message-content{max-width:calc(100% - 28px)}}.chat-widget__message-text{font-weight:400;line-height:var(--line-height-base);padding:.5rem .75rem;border-radius:var(--radius-lg);word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;line-height:1.4;position:relative;font-size:var(--font-size-base);width:fit-content;max-width:100%}@media(max-width:768px){.chat-widget__message-text{font-size:var(--font-size-sm);padding:.375rem .625rem;line-height:1.35;border-radius:var(--radius-md)}}.chat-widget__message--user .chat-widget__message-content{align-items:flex-end}.chat-widget__message--user .chat-widget__message-text{background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-purple) 100%);color:#fff;border-bottom-right-radius:var(--radius-sm);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-lg);box-shadow:0 1px 2px var(--color-overlay-black-light)}.chat-widget__message--assistant .chat-widget__message-content{align-items:flex-start}.chat-widget__message--assistant .chat-widget__message-text{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border);border-bottom-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-lg);border-top-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.chat-widget__typing-indicator{display:flex;gap:4px;padding:var(--space-sm) var(--space-md);align-items:center}.chat-widget__typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:typingBounce 1.4s ease-in-out infinite}.chat-widget__typing-indicator span:first-child{animation-delay:-.32s}.chat-widget__typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.chat-widget__error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin:var(--space-md) var(--space-lg);background:var(--color-overlay-danger);border:1px solid var(--color-overlay-danger-medium);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-size-sm);animation:shake .5s}@media(max-width:768px){.chat-widget__error{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);margin:var(--space-sm) var(--space-md)}}.chat-widget__error svg{flex-shrink:0}.chat-widget__limit-message{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);margin:0 var(--space-lg) var(--space-md);background:var(--color-overlay-warning);border:1px solid var(--color-overlay-warning-medium);border-radius:var(--radius-md);color:var(--color-warning);font-size:var(--font-size-sm);animation:fadeIn .3s ease}@media(max-width:768px){.chat-widget__limit-message{padding:var(--space-sm);margin:0 var(--space-md) var(--space-sm)}.chat-widget__limit-message,.chat-widget__limit-message strong{font-size:var(--font-size-xs)}.chat-widget__limit-message p{font-size:.7rem}}.chat-widget__limit-message svg{flex-shrink:0;margin-top:2px}.chat-widget__limit-message strong{display:block;font-weight:600;margin-bottom:var(--space-xs)}.chat-widget__limit-message p{margin:0;opacity:.9}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.chat-widget__input-container{display:flex;gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--color-border);background:var(--color-bg-elevated);position:relative;align-items:flex-start;flex-shrink:0;z-index:2}@media(max-width:768px){.chat-widget__input-container{padding:var(--space-sm)}}.chat-widget__input-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.5}.chat-widget__input-wrapper{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.chat-widget__input{width:100%;padding:var(--space-md);font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);outline:none;transition:all .2s ease;resize:none;overflow-y:auto;min-height:3rem;max-height:120px;line-height:1.5}@media(max-width:768px){.chat-widget__input{font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md);min-height:2.5rem;max-height:100px}}.chat-widget__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-overlay-accent-medium),0 0 20px var(--color-overlay-accent-medium);transform:translateY(-1px)}.chat-widget__input--warning{border-color:var(--color-warning)}.chat-widget__input--warning:focus{border-color:var(--color-warning);box-shadow:0 0 0 4px var(--color-overlay-warning),0 0 20px var(--color-overlay-warning)}.chat-widget__input--error{border-color:var(--color-danger)}.chat-widget__input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 4px var(--color-overlay-danger),0 0 20px var(--color-overlay-danger)}.chat-widget__input:disabled{opacity:.6;cursor:not-allowed}.chat-widget__input::placeholder{color:var(--color-text-light)}.chat-widget__input-footer{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-xs);min-height:1rem;font-size:var(--font-size-xs)}.chat-widget__char-count{color:var(--color-text-light);font-variant-numeric:tabular-nums}.chat-widget__char-count--warning{color:var(--color-warning);font-weight:500}.chat-widget__char-warning{color:#f59e0b;font-weight:500}.chat-widget__char-error{color:var(--color-danger);font-weight:600}.chat-widget__textarea{min-height:4.5rem;padding-top:var(--space-md);padding-bottom:var(--space-md)}.chat-widget__send{width:3rem;height:3rem;padding:0;background:linear-gradient(135deg,var(--color-accent) 0,var(--color-accent-purple) 100%);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;position:relative;overflow:hidden}.chat-widget__send:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 30%,var(--color-overlay-white-medium) 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s}.chat-widget__send:hover:not(:disabled){transform:scale(1.05) translateY(-2px);box-shadow:0 8px 20px var(--color-overlay-accent-strong)}.chat-widget__send:hover:not(:disabled):before{transform:translateX(100%)}.chat-widget__send:active:not(:disabled){transform:scale(.95)}.chat-widget__send:disabled{opacity:.6;cursor:not-allowed}.chat-widget__send:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-widget__send svg,.chat-widget__send-spinner{width:18px;height:18px;position:relative;z-index:1}.chat-widget__send-spinner{border:2px solid var(--color-overlay-white-strong);border-top:2px solid #fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);transition:background-color .3s ease,color .3s ease}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{text-decoration:none;color:inherit}button{border:none;background:none;cursor:pointer}ol,ul{list-style:none}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-secondary:#64748b;--color-accent:#3b82f6;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#f59e0b;--color-accent-purple:#8b5cf6;--color-accent-purple-hover:#7c3aed;--color-success-light:#059669;--color-danger-dark:#dc2626;--color-overlay-accent-light:rgba(59,130,246,0.15);--color-overlay-accent-medium:rgba(59,130,246,0.25);--color-overlay-accent-strong:rgba(59,130,246,0.4);--color-overlay-accent-stronger:rgba(59,130,246,0.5);--color-overlay-purple:rgba(139,92,246,0.15);--color-overlay-white-light:rgba(255,255,255,0.1);--color-overlay-white-medium:rgba(255,255,255,0.2);--color-overlay-white-strong:rgba(255,255,255,0.3);--color-overlay-black-light:rgba(0,0,0,0.1);--color-overlay-black-medium:rgba(0,0,0,0.2);--color-overlay-black-strong:rgba(0,0,0,0.3);--color-overlay-danger:rgba(239,68,68,0.1);--color-overlay-danger-medium:rgba(239,68,68,0.3);--color-overlay-danger-strong:rgba(239,68,68,0.4);--color-overlay-warning:rgba(251,191,36,0.1);--color-overlay-warning-medium:rgba(251,191,36,0.3);--color-overlay-success:rgba(16,185,129,0.4);--color-overlay-success-glow:rgba(16,185,129,0);--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-pill:9999px;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-heading:var(--font-family-base);--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--line-height-tight:1.25;--line-height-base:1.5;--line-height-relaxed:1.75;--transition-fast:150ms ease;--transition-base:200ms ease;--transition-slow:300ms ease;--z-base:1;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-tooltip:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:600;line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-5xl)}h1,h2{font-family:var(--font-family-heading);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.025em}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h3,h4{font-family:var(--font-family-heading);font-weight:600;line-height:var(--line-height-tight)}h4{font-size:var(--font-size-2xl)}p{font-size:var(--font-size-base);font-weight:400;line-height:var(--line-height-base);color:var(--color-text)}a{color:var(--color-accent);transition:color var(--transition-base)}a:hover{color:var(--color-accent-hover)}strong{font-weight:600}code{font-family:Courier New,monospace;font-size:.9em;background-color:var(--color-bg-elevated);padding:.125rem .375rem;border-radius:var(--radius-sm)}.container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md)}@media(min-width:768px){.container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.section{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl)}@media(min-width:768px){.section{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}}.sr-only,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}[data-theme=light]{--color-bg:#ffffff;--color-bg-elevated:#f8fafc;--color-bg-secondary:#f1f5f9;--color-text:#0f172a;--color-text-muted:#475569;--color-text-light:#64748b;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-accent:#3b82f6;--color-accent-hover:#2563eb}[data-theme=dark]{--color-bg:#0f172a;--color-bg-elevated:#1e293b;--color-bg-secondary:#334155;--color-text:#f1f5f9;--color-text-muted:#cbd5e1;--color-text-light:#94a3b8;--color-border:#334155;--color-border-hover:#475569;--color-accent:#60a5fa;--color-accent-hover:#3b82f6}html{color-scheme:light dark}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}#root,body{min-height:100vh}#root{display:flex;flex-direction:column}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-elevated)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}::selection{background-color:var(--color-accent);color:#fff}