:root{--xs:375px;--sm:640px;--md:768px;--lg:1024px;--xl:1280px;--2xl:1536px;--3xl:1920px;--4xl:2560px;--spacing-xs:clamp(0.25rem,1vw,0.5rem);--spacing-sm:clamp(0.5rem,2vw,1rem);--spacing-md:clamp(1rem,3vw,1.5rem);--spacing-lg:clamp(1.5rem,4vw,2rem);--spacing-xl:clamp(2rem,5vw,3rem);--text-xs:clamp(0.625rem,2vw,0.75rem);--text-sm:clamp(0.75rem,2.5vw,0.875rem);--text-base:clamp(0.875rem,3vw,1rem);--text-lg:clamp(1rem,3.5vw,1.125rem);--text-xl:clamp(1.125rem,4vw,1.25rem);--text-2xl:clamp(1.25rem,5vw,1.5rem);--header-height:56px;--header-height-mobile:48px;--header-height-desktop:64px;--sidebar-width:280px;--sidebar-width-mobile:85vw;--input-area-height:120px;--input-area-height-mobile:100px}@media (max-width:374px){:root{--header-height:44px;--input-area-height:90px}.desktop-only,.tablet-only{display:none!important}.header-container{padding:.25rem!important;gap:.25rem!important}button{padding:.375rem!important;font-size:.625rem!important}.message-bubble,.messages-container{padding:.5rem!important}.message-bubble{font-size:calc(var(--chat-scale, 1) * .75rem)!important}}@media (min-width:375px) and (max-width:639px){.header-container{padding:.5rem!important;min-height:var(--header-height-mobile)}.persona-avatar{width:24px!important;height:24px!important}.model-selector-mobile{width:100px!important;font-size:.625rem!important}.messages-container{padding:.75rem!important}.message-bubble{max-width:85%!important;padding:.625rem!important;font-size:calc(var(--chat-scale, 1) * .8125rem)!important}.input-container{padding:.5rem!important}.input-textarea{min-height:60px!important;font-size:16px!important}.floating-action-buttons{bottom:calc(var(--input-area-height) + .5rem)!important;right:.5rem!important}.modal-container{margin:.5rem!important;max-width:calc(100vw - 1rem)!important}}@media (min-width:640px) and (max-width:767px){.tablet-only{display:block!important}.header-container{padding:.75rem 1rem!important;min-height:56px}.persona-info{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.5rem!important}.messages-container{padding:1rem!important;max-width:100%!important}.message-bubble{max-width:75%!important;font-size:calc(var(--chat-scale, 1) * .875rem)!important}.input-container,.message-bubble{padding:.75rem 1rem!important}.input-textarea{min-height:80px!important;font-size:.875rem!important}.sidebar-container{width:320px!important}}@media (min-width:768px) and (max-width:1023px){.desktop-only{display:block!important}.mobile-only{display:none!important}.header-container{padding:.75rem 1.25rem!important;min-height:60px}.main-container{display:flex!important}.messages-container{padding:1.25rem!important}.message-bubble{max-width:65%!important;padding:.875rem 1.125rem!important;font-size:calc(var(--chat-scale, 1) * .9375rem)!important}.input-container{padding:1rem 1.25rem!important}.sidebar-container{position:relative!important;width:240px!important;display:block!important}}@media (min-width:1024px) and (max-width:1279px){.header-container{padding:1rem 1.5rem!important;min-height:var(--header-height-desktop)}.messages-container{padding:1.5rem!important}.message-bubble{max-width:60%!important;padding:1rem 1.25rem!important;font-size:calc(var(--chat-scale, 1) * 1rem)!important}.input-container{padding:1.25rem 1.5rem!important}.input-textarea{min-height:100px!important;font-size:1rem!important}.sidebar-container{width:280px!important}}@media (min-width:1280px) and (max-width:1535px){.messages-container{padding:1.75rem!important}.input-container{padding:1.5rem 1.75rem!important}.sidebar-container{width:320px!important}}@media (min-width:1536px) and (max-width:1919px){.messages-container{padding:2rem!important}.input-container{padding:1.75rem 2rem!important}.sidebar-container{width:360px!important}}@media (min-width:1920px){:root{font-size:18px}.messages-container{padding:2.5rem!important}.message-bubble{max-width:50%!important;padding:1.25rem 1.5rem!important;font-size:calc(var(--chat-scale, 1) * 1.125rem)!important}.input-container{padding:2rem 2.5rem!important}.sidebar-container{width:400px!important}}@media (orientation:landscape) and (max-height:500px){:root{--header-height:40px;--input-area-height:80px}.header-container{padding:.25rem .5rem!important}.messages-container{padding:.5rem!important}.input-container{padding:.375rem .5rem!important}.input-textarea{min-height:50px!important;max-height:80px!important}}@media (orientation:portrait) and (min-width:768px) and (max-width:1023px){.messages-container{padding:1.5rem!important}.message-bubble{max-width:70%!important}}@media (min-resolution:192dpi){*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.message-bubble,.modal-container,button{border-width:.5px!important}}@media (min-width:320px) and (max-width:853px) and (min-height:600px){.messages-container{padding:.5rem!important}.message-bubble{max-width:90%!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.floating-action-buttons,.header-container,.input-container,.sidebar-container,button{display:none!important}.messages-container{max-width:100%!important;padding:0!important}.message-bubble{max-width:100%!important;-moz-column-break-inside:avoid;break-inside:avoid}}@supports (height:100dvh){.main-container{height:100dvh!important}}@container (min-width: 768px){.message-actions{opacity:0;transition:opacity .2s}.message-bubble:hover .message-actions{opacity:1}}@supports (padding:env(safe-area-inset-left)){.main-container{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.header-container{padding-top:env(safe-area-inset-top)}.input-container{padding-bottom:env(safe-area-inset-bottom)}}.apple-glass{background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(255,255,255,.65) 50%,rgba(255,255,255,.75));backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.6),inset 0 -1px 0 rgba(0,0,0,.02)}.dynamic-island{background:rgba(0,0,0,.85);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-radius:24px;padding:8px 16px;transition:all .4s cubic-bezier(.4,0,.2,1)}.dynamic-island:hover{transform:scale(1.05);background:rgba(0,0,0,.9)}.apple-button{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.85));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);border-radius:14px;padding:10px 20px;font-weight:600;font-size:15px;letter-spacing:-.01em;box-shadow:0 4px 16px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(0,0,0,.04);transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.apple-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s ease}.apple-button:hover:before{left:100%}.apple-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.9)}.apple-button:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.6),inset 0 2px 4px rgba(0,0,0,.05)}.apple-button-primary{background:linear-gradient(135deg,rgba(0,122,255,.95),rgba(0,122,255,.85));color:white;border-color:rgba(0,122,255,.3)}.apple-button-primary:hover{background:linear-gradient(135deg,rgba(0,122,255,1),rgba(0,122,255,.9))}.apple-card{background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,255,255,.72));backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.35);border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.02);transition:all .3s cubic-bezier(.4,0,.2,1)}.apple-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 16px 48px rgba(0,0,0,.12),0 6px 16px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.8)}.apple-input{background:rgba(255,255,255,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px 16px;font-size:16px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(0,0,0,.04),inset 0 1px 0 rgba(255,255,255,.9)}.apple-input:focus{outline:none;background:rgba(255,255,255,.95);border-color:rgba(0,122,255,.5);box-shadow:0 4px 12px rgba(0,122,255,.15),0 2px 8px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,1)}.dark .apple-glass{background:linear-gradient(135deg,rgba(28,28,30,.85),rgba(28,28,30,.65) 50%,rgba(28,28,30,.75));border-color:rgba(255,255,255,.08);box-shadow:0 8px 32px rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08)}.dark .apple-button{background:linear-gradient(135deg,rgba(50,50,52,.95),rgba(50,50,52,.85));border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.9)}.dark .apple-card{background:linear-gradient(145deg,rgba(38,38,40,.88),rgba(38,38,40,.72));border-color:rgba(255,255,255,.08);box-shadow:0 12px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06)}.dark .apple-input{background:rgba(38,38,40,.88);border-color:rgba(255,255,255,.06);color:rgba(255,255,255,.9)}.dark .apple-input:focus{background:rgba(38,38,40,.95);border-color:rgba(0,122,255,.6)}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}.pulse-on-hover:hover{animation:pulse-glow 2s infinite}.shadow-premium{box-shadow:0 20px 40px rgba(0,0,0,.08),0 10px 20px rgba(0,0,0,.06),0 5px 10px rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.02)}.glass-light{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.glass-medium{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.glass-heavy{backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px)}.glass-ultra{backdrop-filter:blur(48px) saturate(200%);-webkit-backdrop-filter:blur(48px) saturate(200%)}.action-palette .apple-button{background:rgba(20,24,28,.85);border:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.92);border-radius:12px;padding:10px 12px;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 2px 8px rgba(0,0,0,.25);letter-spacing:0;min-height:44px}.action-palette .apple-button:before{display:none}.action-palette .apple-button:hover{transform:none;background:rgba(28,32,36,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 14px rgba(0,0,0,.28)}.action-palette .apple-button:active{transform:translateY(0);background:rgba(24,28,32,.92);box-shadow:inset 0 2px 6px rgba(0,0,0,.35)}.action-palette:not(.dark) .apple-button{background:rgba(255,255,255,.88);color:#111827;border-color:rgba(0,0,0,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 2px 8px rgba(17,24,39,.06)}.action-palette:not(.dark) .apple-button:hover{background:rgba(255,255,255,.95)}.hover-glow{position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.hover-glow:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,var(--primary-green) 0,var(--accent-blue) 50%,var(--accent-purple) 100%);opacity:0;z-index:-1;filter:blur(8px);transition:opacity .3s ease}.hover-glow:hover:before{opacity:.4;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-enter{animation:enter-smooth .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes enter-smooth{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.stagger-animation>*{animation:stagger-in .4s cubic-bezier(.34,1.56,.64,1) both}.stagger-animation>:first-child{animation-delay:.05s}.stagger-animation>:nth-child(2){animation-delay:.1s}.stagger-animation>:nth-child(3){animation-delay:.15s}.stagger-animation>:nth-child(4){animation-delay:.2s}.stagger-animation>:nth-child(5){animation-delay:.25s}.stagger-animation>:nth-child(6){animation-delay:.3s}.stagger-animation>:nth-child(7){animation-delay:.35s}.stagger-animation>:nth-child(8){animation-delay:.4s}@keyframes stagger-in{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.float-animation{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.shine-effect{position:relative;overflow:hidden}.shine-effect:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);transform:rotate(45deg) translateX(-100%);transition:transform .6s ease}.shine-effect:hover:after{transform:rotate(45deg) translateX(100%)}.magnetic-button{position:relative;transition:transform .2s ease}.magnetic-button:hover{transform:scale(1.05)}.ripple{position:relative;overflow:hidden}.ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.ripple:active:before{width:300px;height:300px}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;transform:perspective(1000px)}.card-hover:hover{transform:perspective(1000px) rotateX(5deg) translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.2),0 10px 20px rgba(34,197,94,.2)}.color-transition{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.gradient-border{position:relative;background:linear-gradient(var(--bg-color,#000),var(--bg-color,#000));background-clip:padding-box;border:2px solid transparent}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:linear-gradient(135deg,var(--primary-green) 0,var(--accent-blue) 50%,var(--accent-purple) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rotate-gradient 4s linear infinite}@keyframes rotate-gradient{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scroll-reveal{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.tooltip-premium{position:relative}.tooltip-premium:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(-8px);background:linear-gradient(135deg,rgba(17,24,39,.98),rgba(31,41,55,.98));color:#a7f3d0;padding:8px 12px;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(10px);border:1px solid rgba(34,197,94,.3);box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:1000}.tooltip-premium:hover:after{opacity:1;transform:translateX(-50%) translateY(-12px)}.focus-ring{position:relative}.focus-ring:focus{outline:none}.focus-ring:focus:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--primary-green);opacity:0;animation:focus-pulse .4s ease}@keyframes focus-pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.text-shadow-glow{text-shadow:0 0 20px rgba(34,197,94,.5),0 0 40px rgba(34,197,94,.3),0 0 60px rgba(34,197,94,.1)}.height-transition{transition:height .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;overflow:hidden}.divider-premium{position:relative;height:1px;background:linear-gradient(90deg,transparent,rgba(34,197,94,.5) 50%,transparent);margin:2rem 0}.divider-premium:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--primary-green) 0,var(--accent-blue) 100%);border-radius:2px;animation:pulse-width 2s ease-in-out infinite}@keyframes pulse-width{0%,to{width:60px}50%{width:100px}}.skeleton-smooth{background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.1) 20%,rgba(255,255,255,.05) 40%,rgba(255,255,255,.05));background-size:1000px 100%;animation:skeleton-wave 2s ease-in-out infinite}@keyframes skeleton-wave{0%{background-position:-1000px 0}to{background-position:1000px 0}}.badge-premium{position:relative;display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(59,130,246,.1));border:1px solid rgba(34,197,94,.3);border-radius:20px;font-size:12px;font-weight:600;color:#22c55e;transition:all .3s ease}.badge-premium:hover{background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(59,130,246,.2));border-color:rgba(34,197,94,.5);transform:translateY(-2px);box-shadow:0 4px 12px rgba(34,197,94,.2)}.accordion-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1)}.accordion-content.open{max-height:1000px}.switch-premium{position:relative;width:48px;height:24px;background:linear-gradient(135deg,#374151,#1f2937);border-radius:24px;cursor:pointer;transition:all .3s ease}.switch-premium.active{background:linear-gradient(135deg,var(--primary-green) 0,var(--accent-blue) 100%)}.switch-premium:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:white;border-radius:50%;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 4px rgba(0,0,0,.2)}.switch-premium.active:after{transform:translateX(24px)}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.counter-animation{animation:count-up .6s ease-out}.notification-premium{animation:slide-in-right .4s cubic-bezier(.34,1.56,.64,1)}@keyframes slide-in-right{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.page-transition{animation:page-enter .5s cubic-bezier(.4,0,.2,1)}@keyframes page-enter{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.dark-mode-transition{transition:background-color .3s ease,color .3s ease,border-color .3s ease}@media (max-width:768px){.touch-scale{transition:transform .1s ease}.touch-scale:active{transform:scale(.95)}.smooth-scroll-mobile{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.tap-feedback{-webkit-tap-highlight-color:rgba(34,197,94,.2);touch-action:manipulation}}.spinner-premium{width:40px;height:40px;position:relative;animation:spin-premium 1s linear infinite}.spinner-premium:after,.spinner-premium:before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid transparent}.spinner-premium:before{border-top-color:var(--primary-green);animation:spin-premium 1.5s linear infinite}.spinner-premium:after{border-bottom-color:var(--accent-blue);animation:spin-premium 1s linear infinite reverse}@keyframes spin-premium{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.expand-smooth{transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:top}.expand-smooth.collapsed{transform:scaleY(0);opacity:0}.expand-smooth.expanded{transform:scaleY(1);opacity:1}