.theme-toggle{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:2.5rem;height:2.5rem;transition:all var(--transition-base);justify-content:center;align-items:center;padding:0;display:flex}.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{gap:var(--space-xs);display:flex}.language-switcher__button{min-width:2.5rem;height:2.5rem;padding:0 var(--space-md);font-size:var(--font-size-sm);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);justify-content:center;align-items:center;font-weight:500;display:flex}.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{z-index:var(--z-sticky);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffffe6;position:sticky;top:0}[data-theme=dark] .header{background-color:#0f172ae6}.header__container{width:100%;max-width:1200px;padding-left:var(--space-md);padding-right:var(--space-md);margin-left:auto;margin-right:auto}@media (min-width:768px){.header__container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.header__container{padding-top:var(--space-md);padding-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.header__logo{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);transition:all var(--transition-base);justify-content:center;align-items:center;text-decoration:none;display:flex;box-shadow:0 2px 8px #3b82f64d}.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 #3b82f666}.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{gap:var(--space-md);align-items:center;display:none}@media (min-width:768px){.header__nav{display:flex}}.header__nav--open{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-lg);align-items:stretch;gap:var(--space-sm);flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0}@media (min-width:768px){.header__nav--open{background-color:#0000;border-bottom:none;flex-direction:row;padding:0;position:static}}.header__nav-link{padding:var(--space-sm)var(--space-md);color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-base);font-weight:500;text-decoration:none}.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:768px){.header__nav-link{padding:var(--space-xs)var(--space-md)}}.header__actions{align-items:center;gap:var(--space-md);display:flex}.header__menu-toggle{width:2.5rem;height:2.5rem;color:var(--color-text);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base);background-color:#0000;border:none;justify-content:center;align-items:center;padding:0;display:flex}.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:768px){.header__menu-toggle{display:none}}.header__menu-icon{font-size:var(--font-size-xl);line-height:1}
.footer{padding-top:var(--space-xl);padding-bottom:var(--space-xl);background-color:var(--color-bg-elevated);border-top:1px solid var(--color-border);margin-top:auto}.footer__container{width:100%;max-width:1200px;padding-left:var(--space-md);padding-right:var(--space-md);margin-left:auto;margin-right:auto}@media (min-width:768px){.footer__container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.footer__content{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}@media (min-width:768px){.footer__content{flex-direction:row;justify-content:space-between}}.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{font-size:var(--font-size-sm);font-weight:400;line-height:var(--line-height-base);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);color:inherit;line-height:1.6}.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{color:inherit;font-weight:600}.message-renderer__markdown em{font-style:italic}.message-renderer__markdown a{color:var(--color-accent);border-bottom:1px solid #0000;text-decoration:none;transition:all .2s}.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);border-radius:var(--radius-sm);color:var(--color-accent);border:1px solid var(--color-border);padding:.125rem .375rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875em}.message-renderer__markdown pre{margin:var(--space-sm)0;background:0 0;border-radius:0;padding:0}.message-renderer__markdown pre code{color:inherit;background:0 0;border:none;padding:0}.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 ul,.message-renderer__markdown ol{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;border-radius:var(--radius-md);border:1px solid var(--color-border);overflow-x:auto}.message-renderer__table{border-collapse:collapse;background:var(--color-bg-elevated);width:100%;font-size:var(--font-size-sm)}.message-renderer__table-header{padding:var(--space-sm)var(--space-md);background:var(--color-bg-secondary);text-align:left;border-bottom:2px solid var(--color-border);color:var(--color-text);font-weight:600}.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);position:relative;overflow:hidden}.message-renderer__code-language{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);text-transform:uppercase;border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-family:Monaco,Menlo,Ubuntu Mono,monospace;position:absolute;top:0;right:0}.message-renderer__code{padding:var(--space-md);background:var(--color-bg-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:var(--font-size-sm);color:var(--color-text);margin:0;line-height:1.6;overflow-x:auto}.message-renderer__code code{color:inherit;font-size:inherit;background:0 0;border:none;padding:0}.message-renderer__image-wrapper{margin:var(--space-md)0;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);overflow:hidden}.message-renderer__image{width:100%;max-width:100%;height:auto;display:block}.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:#0000004d}.message-renderer__table{background:var(--color-bg-elevated)}.message-renderer__table-header{background:#0003}}
.chat-widget{bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-modal);position:fixed}@media (max-width:768px){.chat-widget{bottom:var(--space-md);right:var(--space-md)}}.chat-widget__backdrop{background:linear-gradient(135deg,var(--color-overlay-accent-light)0%,var(--color-overlay-purple)100%);-webkit-backdrop-filter:blur(64px)saturate(180%);z-index:calc(var(--z-modal) - 1);cursor:pointer;pointer-events:auto;animation:.3s cubic-bezier(.4,0,.2,1) backdropFadeIn;position:fixed;inset:0}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.chat-widget__toggle{background:linear-gradient(135deg,var(--color-accent)0%,var(--color-accent-purple)100%);color:#fff;cursor:pointer;width:3.5rem;height:3.5rem;box-shadow:0 8px 32px var(--color-overlay-accent-strong),0 0 0 0 var(--color-overlay-accent-stronger);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:visible}.chat-widget__toggle:hover{box-shadow:0 12px 40px var(--color-overlay-accent-stronger),0 0 0 4px var(--color-overlay-accent-medium);transform:scale(1.1)translateY(-2px)}.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{z-index:1;width:24px;height:24px;filter:drop-shadow(0 2px 4px var(--color-overlay-black-medium));position:relative}.chat-widget__toggle-pulse{background:linear-gradient(135deg,var(--color-accent)0%,var(--color-accent-purple)100%);opacity:.6;z-index:0;border-radius:50%;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(1.2)}}.chat-widget__container{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);-webkit-backdrop-filter:blur(48px);z-index:var(--z-modal);pointer-events:auto;transform-origin:100% 100%;flex-direction:column;animation:.4s cubic-bezier(.34,1.56,.64,1) slideUpFromButton;display:flex;position:fixed;top:auto;left:auto;overflow:hidden}@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:.4s cubic-bezier(.34,1.56,.64,1) slideUpFromButtonMobile}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-widget__header{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;z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;min-height:72px;display:flex;position:sticky;top:0;overflow:hidden}@media (max-width:768px){.chat-widget__header{padding:var(--space-md);min-height:64px}}.chat-widget__header:before{content:"";background:linear-gradient(45deg,transparent 30%,var(--color-overlay-white-light)50%,transparent 70%);animation:3s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.chat-widget__header-info{align-items:center;gap:var(--space-sm);z-index:1;flex:1;display:flex;position:relative}.chat-widget__status-indicator{background:var(--color-success);width:8px;height:8px;box-shadow:0 0 8px var(--color-success);border-radius:50%;animation:2s infinite pulseDot}@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);font-weight:600;line-height:var(--line-height-tight);color:#fff;font-size:var(--font-size-lg);text-shadow:0 2px 4px var(--color-overlay-black-medium);margin:0;font-weight:600}@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:#ffffffe6;font-size:var(--font-size-xs);margin:0}@media (max-width:768px){.chat-widget__subtitle{font-size:.65rem;line-height:1.3}}.chat-widget__header-actions{align-items:center;gap:var(--space-xs);z-index:1;display:flex;position:relative}.chat-widget__reset{background:var(--color-overlay-white-light);color:#fff;cursor:pointer;border-radius:var(--radius-md);z-index:1;border:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:all .2s;display:flex;position:relative}.chat-widget__reset:hover{background:var(--color-overlay-white-medium);transform:rotate(180deg)}.chat-widget__reset:focus-visible{outline-offset:2px;outline:2px solid #fff}.chat-widget__reset svg{width:16px;height:16px}.chat-widget__close{background:var(--color-overlay-white-light);color:#fff;cursor:pointer;border-radius:var(--radius-md);z-index:1;border:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:all .2s;display:flex;position:relative}.chat-widget__close:hover{background:var(--color-overlay-white-medium);transform:rotate(90deg)}.chat-widget__close:focus-visible{outline-offset:2px;outline:2px solid #fff}.chat-widget__close svg{width:18px;height:18px}.chat-widget__messages{padding:var(--space-sm);background:var(--color-bg);scroll-behavior:smooth;overflow-anchor:none;flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;position:relative;overflow-y:auto}@media (max-width:768px){.chat-widget__messages{padding:var(--space-xs);gap:.375rem;min-height:0}}.chat-widget__messages:before{content:"";background:linear-gradient(to bottom,var(--color-bg-elevated),transparent);pointer-events:none;z-index:1;height:20px;position:absolute;top:0;left:0;right:0}.chat-widget__messages::-webkit-scrollbar{width:6px}.chat-widget__messages::-webkit-scrollbar-track{background: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{align-self:flex-start;gap:.5rem;width:100%;animation:.3s cubic-bezier(.4,0,.2,1) messageSlide;display:flex}@media (max-width:768px){.chat-widget__message{gap:.375rem;width:100%}}.chat-widget__message--user{flex-direction:row-reverse;justify-content:flex-end;align-self:flex-end}.chat-widget__message--assistant{justify-content:flex-start;align-self:flex-start}@keyframes messageSlide{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.chat-widget__message-avatar{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:.125rem;display:flex}@media (max-width:768px){.chat-widget__message-avatar{border-width:1px;width:20px;height:20px}.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{background:linear-gradient(135deg,var(--color-success)0%,var(--color-success-light)100%);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;animation:2s infinite aiPulse;display:flex}@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{flex-direction:column;flex:1;gap:0;min-width:0;max-width:calc(100% - 32px);display:flex}@media (max-width:768px){.chat-widget__message-content{max-width:calc(100% - 28px)}}.chat-widget__message-text{font-size:var(--font-size-base);font-weight:400;line-height:var(--line-height-base);border-radius:var(--radius-lg);word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;line-height:1.4;font-size:var(--font-size-base);width:fit-content;max-width:100%;padding:.5rem .75rem;position:relative}@media (max-width:768px){.chat-widget__message-text{font-size:var(--font-size-sm);border-radius:var(--radius-md);padding:.375rem .625rem;line-height:1.35}}.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{padding:var(--space-sm)var(--space-md);align-items:center;gap:4px;display:flex}.chat-widget__typing-indicator span{background:var(--color-accent);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite typingBounce}.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{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.chat-widget__error{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:.5s shake;display:flex}@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{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:.3s fadeIn;display:flex}@media (max-width:768px){.chat-widget__limit-message{font-size:var(--font-size-xs);padding:var(--space-sm);margin:0 var(--space-md)var(--space-sm)}.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{margin-bottom:var(--space-xs);font-weight:600;display:block}.chat-widget__limit-message p{opacity:.9;margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.chat-widget__input-container{gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--color-border);background:var(--color-bg-elevated);z-index:2;flex-shrink:0;align-items:flex-start;display:flex;position:relative}@media (max-width:768px){.chat-widget__input-container{padding:var(--space-sm)}}.chat-widget__input-container:before{content:"";background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.5;height:1px;position:absolute;top:0;left:0;right:0}.chat-widget__input-wrapper{gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.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);resize:none;outline:none;min-height:3rem;max-height:120px;line-height:1.5;transition:all .2s;overflow-y:auto}@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{padding:0 var(--space-xs);min-height:1rem;font-size:var(--font-size-xs);justify-content:space-between;align-items:center;display:flex}.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{background:linear-gradient(135deg,var(--color-accent)0%,var(--color-accent-purple)100%);color:#fff;border-radius:var(--radius-lg);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;padding:0;transition:all .2s;display:flex;position:relative;overflow:hidden}.chat-widget__send:before{content:"";background:linear-gradient(45deg,transparent 30%,var(--color-overlay-white-medium)50%,transparent 70%);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.chat-widget__send:hover:not(:disabled){box-shadow:0 8px 20px var(--color-overlay-accent-strong);transform:scale(1.05)translateY(-2px)}.chat-widget__send:hover:not(:disabled):before{transform:translate(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{z-index:1;width:18px;height:18px;position:relative}.chat-widget__send-spinner{border:2px solid var(--color-overlay-white-strong);z-index:1;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;position:relative}@keyframes spin{to{transform:rotate(360deg)}}
*,:before,:after{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{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);margin:0;transition:background-color .3s,color .3s}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none}ul,ol{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:#3b82f626;--color-overlay-accent-medium:#3b82f640;--color-overlay-accent-strong:#3b82f666;--color-overlay-accent-stronger:#3b82f680;--color-overlay-purple:#8b5cf626;--color-overlay-white-light:#ffffff1a;--color-overlay-white-medium:#fff3;--color-overlay-white-strong:#ffffff4d;--color-overlay-black-light:#0000001a;--color-overlay-black-medium:#0003;--color-overlay-black-strong:#0000004d;--color-overlay-danger:#ef44441a;--color-overlay-danger-medium:#ef44444d;--color-overlay-danger-strong:#ef444466;--color-overlay-warning:#fbbf241a;--color-overlay-warning-medium:#fbbf244d;--color-overlay-success:#10b98166;--color-overlay-success-glow:#10b98100;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-pill:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--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:.75rem;--font-size-sm:.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:.15s ease;--transition-base:.2s ease;--transition-slow:.3s 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-family:var(--font-family-heading);font-size:var(--font-size-5xl);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.025em}h2{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:700;line-height:var(--line-height-tight);letter-spacing:-.025em}h3{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:600;line-height:var(--line-height-tight)}h4{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:600;line-height:var(--line-height-tight)}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{background-color:var(--color-bg-elevated);border-radius:var(--radius-sm);padding:.125rem .375rem;font-family:Courier New,monospace;font-size:.9em}.container{width:100%;max-width:1200px;padding-left:var(--space-md);padding-right:var(--space-md);margin-left:auto;margin-right:auto}@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)}}.visually-hidden,.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.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:#fff;--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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{min-height:100vh}#root{flex-direction:column;min-height:100vh;display:flex}::-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}
