html[style*="--a11y-font-size-scale"] *{font-size:calc(1em * var(--a11y-font-size-scale, 1))!important}html[style*="--a11y-letter-spacing"] *{letter-spacing:var(--a11y-letter-spacing,normal)!important}html[style*="--a11y-line-height"] *{line-height:var(--a11y-line-height,inherit)!important}.a11y-readable-font *{font-family:Comic Sans MS,Trebuchet MS,Arial,sans-serif!important}.a11y-high-contrast{filter:contrast(1.5)}.a11y-dark-contrast,.a11y-dark-contrast .a11y-button,.a11y-dark-contrast .a11y-menu-backdrop,.a11y-dark-contrast .a11y-menu-panel,.a11y-dark-contrast [style*=background-image],.a11y-dark-contrast iframe,.a11y-dark-contrast img,.a11y-dark-contrast picture,.a11y-dark-contrast video{filter:invert(1) hue-rotate(180deg)}.a11y-light-contrast,.a11y-light-contrast *{background-color:#FFFFFF!important;color:#000000!important}.a11y-light-contrast *{border-color:#000000!important}.a11y-light-contrast a{color:#0000FF!important;text-decoration:underline!important}.a11y-light-contrast button{background-color:#000000!important;color:#FFFFFF!important;border:2px solid #000000!important}.a11y-grayscale{filter:grayscale(100%)}.a11y-invert-colors{filter:invert(1) hue-rotate(180deg)}.a11y-highlight-links a{background-color:#FFFF00!important;color:#000000!important;text-decoration:underline!important;padding:2px 4px!important;border-radius:2px!important;font-weight:700!important}.a11y-hide-images [style*=background-image],.a11y-hide-images img,.a11y-hide-images picture,.a11y-hide-images svg[role=img]{visibility:hidden!important;opacity:0!important}.a11y-stop-animations,.a11y-stop-animations *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.a11y-big-cursor,.a11y-big-cursor *{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22shadow%22%3E%3CfeDropShadow%20dx%3D%221%22%20dy%3D%221%22%20stdDeviation%3D%221%22%20flood-opacity%3D%220.5%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M%208%206%20L%208%2048%20L%2022%2034%20L%2030%2054%20L%2038%2052%20L%2030%2032%20L%2050%2032%20Z%22%20fill%3D%22white%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20filter%3D%22url(%23shadow)%22%2F%3E%3Cpath%20d%3D%22M%208%206%20L%208%2048%20L%2022%2034%20L%2030%2054%20L%2038%2052%20L%2030%2032%20L%2050%2032%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") 8 6,auto!important}.a11y-big-cursor [onclick],.a11y-big-cursor [role=button],.a11y-big-cursor a,.a11y-big-cursor button,.a11y-big-cursor input:not([type=text]):not([type=email]):not([type=password]):not([type=search]):not([type=tel]),.a11y-big-cursor label[for],.a11y-big-cursor select,.a11y-big-cursor textarea{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22shadow%22%3E%3CfeDropShadow%20dx%3D%221%22%20dy%3D%221%22%20stdDeviation%3D%221%22%20flood-opacity%3D%220.5%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M%2012%2012%20L%2012%2032%20L%2022%2032%20L%2032%2042%20L%2042%2032%20L%2032%2032%20L%2032%2022%20L%2042%2022%20L%2032%2012%20L%2022%2022%20L%2012%2022%20Z%22%20fill%3D%22white%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20filter%3D%22url(%23shadow)%22%2F%3E%3Cpath%20d%3D%22M%2012%2012%20L%2012%2032%20L%2022%2032%20L%2032%2042%20L%2042%2032%20L%2032%2032%20L%2032%2022%20L%2042%2022%20L%2032%2012%20L%2022%2022%20L%2012%2022%20Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") 32 32,pointer!important}.a11y-cursor-highlight{position:fixed;width:48px;height:48px;border:4px solid rgba(59,130,246,.6);border-radius:50%;background:transparent;pointer-events:none;z-index:999999;transform:translate(-50%,-50%);transition:width .15s ease,height .15s ease,border-color .15s ease,opacity .15s ease;box-shadow:0 0 0 2px rgba(255,255,255,.8),0 0 20px rgba(59,130,246,.4);opacity:.8}.a11y-cursor-highlight.hovering-interactive{width:60px;height:60px;border-color:rgba(59,130,246,.9);border-width:5px;opacity:1;box-shadow:0 0 0 3px rgba(255,255,255,1),0 0 25px rgba(59,130,246,.6)}.a11y-reading-guide{position:relative}.a11y-reading-guide:before{content:"";position:fixed;left:0;right:0;height:3px;background:rgba(255,0,0,.5);pointer-events:none;z-index:9999;top:var(--reading-guide-y,50%)}.a11y-text-left *{text-align:left!important}.a11y-text-center *{text-align:center!important}.a11y-text-right *{text-align:right!important}html[data-keyboard-nav=true] :focus{outline:3px solid #3B82F6!important;outline-offset:2px!important;box-shadow:0 0 0 3px rgba(59,130,246,.3)!important}.skip-to-content{position:fixed;top:-100px;left:0;background:#3B82F6;color:white;padding:8px 16px;text-decoration:none;z-index:10000;border-radius:0 0 4px 0;font-weight:600;transition:top .3s}.skip-to-content:focus{top:0}html[data-keyboard-nav=true] [role=button]:focus,html[data-keyboard-nav=true] [tabindex]:focus,html[data-keyboard-nav=true] a:focus,html[data-keyboard-nav=true] button:focus,html[data-keyboard-nav=true] input:focus,html[data-keyboard-nav=true] select:focus,html[data-keyboard-nav=true] textarea:focus{outline:3px solid #3B82F6!important;outline-offset:2px!important}.a11y-menu-backdrop{position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:9998;animation:fadeIn .35s cubic-bezier(.4,0,.2,1)}.a11y-menu-backdrop.closing{animation:fadeOut .35s cubic-bezier(.4,0,.2,1)}.a11y-menu-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:420px;background:white;box-shadow:-4px 0 12px rgba(0,0,0,.15);z-index:9999;overflow-y:auto;animation:slideInRight .35s cubic-bezier(.4,0,.2,1)}.a11y-menu-panel.closing{animation:slideOutRight .35s cubic-bezier(.4,0,.2,1)}@media (max-width:640px){.a11y-menu-panel{max-width:100%}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:.8}}.a11y-button{position:fixed;bottom:20px;right:20px;width:40px;height:40px;border-radius:50%;background:#3B82F6;color:white;border:none;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:9997;transition:transform .2s,box-shadow .2s}.a11y-button:hover{transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,.2)}.a11y-button:active{transform:scale(.95)}.a11y-button:focus{outline:3px solid #DBEAFE;outline-offset:2px}@media (max-width:640px){.a11y-button{bottom:16px;right:16px;width:36px;height:36px}}.a11y-stop-animations .a11y-button,.a11y-stop-animations .a11y-menu-backdrop,.a11y-stop-animations .a11y-menu-panel{animation:none!important;transition:none!important}.animation-delay-200{animation-delay:.2s}.animation-delay-400{animation-delay:.4s}.assistant-message ul{list-style-type:disc}.assistant-message ol,.assistant-message ul{margin-left:1.5rem;margin-top:.5rem;margin-bottom:.5rem}.assistant-message ol{list-style-type:decimal}.assistant-message li{margin-bottom:.25rem}.assistant-message code{background-color:#e5e7eb;padding:.125rem .25rem;border-radius:.25rem;font-size:.875rem}.assistant-message pre{background-color:#f3f4f6;padding:1rem;border-radius:.5rem;overflow-x:auto;margin-top:.5rem;margin-bottom:.5rem}.assistant-message blockquote{border-left:4px solid #d1d5db;padding-left:1rem;margin-left:0;color:#6b7280;font-style:italic}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .3s ease-out}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.animate-bounce{animation:bounce 1.4s infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}@keyframes pulseDot{0%,60%,to{opacity:.2}30%{opacity:1}}.animate-pulse-dot{animation:pulseDot 1.4s infinite}.animate-pulse-dot:nth-child(2){animation-delay:.2s}.animate-pulse-dot:nth-child(3){animation-delay:.4s}@keyframes fadeIn{0%{background-color:rgba(0,0,0,0)}to{background-color:rgba(0,0,0,.5)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInBg{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeInBg .2s ease-out}.animate-scale-in{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes fadeOut{0%{background-color:rgba(0,0,0,.5)}to{background-color:rgba(0,0,0,0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float{animation:float 6s ease-in-out infinite;will-change:transform;backface-visibility:hidden}@keyframes scrollWheel{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.animate-scroll-wheel{animation:scrollWheel 1.5s infinite}@keyframes gentleBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmerSweep{0%{transform:translateX(-150%) skewX(-25deg)}to{transform:translateX(150%) skewX(-25deg)}}.animate-gentle-breathe{animation:gentleBreathe 6s ease-in-out infinite}.animate-premium-shimmer{animation:shimmerSweep 4s cubic-bezier(.4,0,.2,1) infinite}@keyframes gentleFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.animate-gentle-entry{animation:gentleFadeIn .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUpDrawer{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownDrawer{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes scaleInChat{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes scaleOutChat{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(20px)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes fadeOutBackdrop{0%{opacity:1}to{opacity:0}}.animate-slide-up{animation:slideUpDrawer .35s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-down{animation:slideDownDrawer .3s cubic-bezier(.4,0,1,1) forwards}.animate-scale-in{animation:scaleInChat .35s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-out{animation:scaleOutChat .3s cubic-bezier(.4,0,1,1) forwards}.animate-fade-in{animation:fadeInBackdrop .25s ease-out forwards}.animate-fade-out{animation:fadeOutBackdrop .2s ease-in forwards}@keyframes messageFadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:messageFadeInUp .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.animate-typing-dot{animation:typingBounce 1.4s infinite}