.character-select-container{position:relative;width:100%;height:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:auto;background:transparent;padding:var(--safe-area-inset-top) var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left)}.character-select-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;opacity:.5;z-index:0;pointer-events:none}.header-container{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:var(--spacing-lg) 0;padding:0 var(--spacing-xl);z-index:1;position:relative;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:var(--spacing-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-buttons{position:relative;display:flex;z-index:100;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px;border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0003;flex-shrink:0;gap:1px}.header-button{height:44px;width:44px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden}.header-button.MuiIconButton-root{border-radius:0;margin:0;padding:0}.header-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-primary);opacity:0;transition:opacity var(--transition-fast)}.header-button:hover:before{opacity:.1}.header-button:active:before{opacity:.2}.header-button svg{width:24px;height:24px;position:relative;z-index:1;opacity:.8;transition:all var(--transition-fast)}.header-button:hover svg{opacity:1;transform:scale(1.1)}@keyframes settingsSpin{0%{transform:scale(1.1) rotate(0)}to{transform:scale(1.1) rotate(180deg)}}.settings-button:hover svg{opacity:1;animation:settingsSpin .6s cubic-bezier(.4,0,.2,1);transform:scale(1.1) rotate(180deg)}.sign-in-button{border-top-left-radius:var(--border-radius-md);border-bottom-left-radius:var(--border-radius-md);border-right:1px solid rgba(255,255,255,.1)}.settings-button{border-top-right-radius:var(--border-radius-md);border-bottom-right-radius:var(--border-radius-md)}.settings-button.standalone{width:88px;border-radius:var(--border-radius-md)}.MuiMenu-paper{background-color:var(--color-background-secondary)!important;border:1px solid var(--color-border)!important;border-radius:var(--border-radius-md)!important;box-shadow:var(--shadow-lg)!important;color:var(--color-text-primary)!important}.MuiMenuItem-root{font-family:var(--font-family)!important;font-size:var(--font-size-sm)!important;min-height:40px!important;padding:var(--spacing-sm) var(--spacing-md)!important}.MuiMenuItem-root:hover{background-color:var(--color-background-hover)!important}.MuiMenuItem-root.Mui-selected{background-color:var(--color-background-selected)!important}.MuiMenuItem-root.Mui-selected:hover{background-color:var(--color-background-selected-hover)!important}.title{color:var(--color-text-primary);text-align:left;font-size:var(--font-size-xxxl);line-height:var(--line-height-xxxl);font-weight:800;display:flex;align-items:center;gap:12px;padding:var(--spacing-md);text-shadow:0 4px 12px rgba(0,0,0,.3);margin:0;flex:1;min-width:0;white-space:nowrap;overflow:hidden;position:relative;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-text-primary) 0%,rgba(255,255,255,.85) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.title:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#0000,#0000000d 40%,#0000001a,#0003,#0000004d);pointer-events:none;z-index:1;mix-blend-mode:multiply}.illustration-style-container{position:relative;touch-action:pan-x;-webkit-user-select:none;user-select:none;z-index:1;justify-content:center;margin:0;display:flex;align-items:center;flex-shrink:0}@media (max-width: 768px){.illustration-style-container{padding:var(--spacing-sm);margin:0;flex:0 0 auto}.gallery-navigation{display:none!important}.character-gallery-wrapper{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}}.scramble-word{display:inline-flex;align-items:center;min-width:180px;color:inherit;height:var(--line-height-xxxl);flex-shrink:0;position:relative;z-index:0}.scramble-char{display:inline-block;color:inherit;position:relative;opacity:1}.scramble-char:nth-child(1){opacity:.95}.scramble-char:nth-child(2){opacity:.9}.scramble-char:nth-child(3){opacity:.85}.scramble-char:nth-child(4){opacity:.8}.scramble-char:nth-child(5){opacity:.75}.scramble-char:nth-child(6){opacity:.7}.scramble-char:nth-child(7){opacity:.65}.scramble-char:nth-child(8){opacity:.6}.scramble-char:nth-child(9){opacity:.55}.scramble-char:nth-child(10){opacity:.5}.scramble-char:nth-child(n+11){opacity:.45}.loading-text{color:var(--color-text-primary);text-align:center;font-size:var(--font-size-lg);line-height:var(--line-height-lg)}.character-gallery::-webkit-scrollbar{width:10px}.character-gallery::-webkit-scrollbar-track{background:#0003;border-radius:5px}.character-gallery::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:5px;transition:background-color .2s ease}.character-gallery::-webkit-scrollbar-thumb:hover{background-color:#ffffff40}.gallery-item{width:100%;max-width:380px;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;will-change:transform}.gallery-item:hover{transform:none;filter:none}.gallery-item:hover~.gallery-item{transform:none;opacity:1}.gallery-item.selected{transform:none;filter:none}.gallery-item.selected:after{display:none}.welcome-features,.gallery-navigation,.gallery-indicators,.tap-indicator{display:none}.character-card.is-expanded .tap-indicator{opacity:0}@media (max-width: 768px){.character-select-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.character-gallery-container{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;overflow:hidden;margin:0;padding:0}.character-gallery{display:flex;gap:var(--spacing-sm);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory!important;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;padding:var(--spacing-sm);flex:1;min-height:0;-webkit-overflow-scrolling:touch;align-items:stretch}.character-gallery::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 auto;width:calc(100% - var(--spacing-lg));min-width:300px;max-width:380px;scroll-snap-align:center;height:fit-content;display:flex;align-items:center;transform:scale(.9)!important;transition:transform .4s cubic-bezier(.25,.46,.45,.94),filter .3s ease,opacity .3s ease;filter:brightness(.95) saturate(.9);opacity:.85}.gallery-item.top-of-carousel{transform:scale(1)!important;filter:brightness(1) saturate(1);opacity:1;z-index:2}.character-card-wrapper{width:100%;height:auto;display:flex;align-items:center}.character-card{height:100%}.gallery-indicators{display:flex;gap:8px;padding:6px 12px;border-radius:20px;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #0003;width:fit-content;margin:var(--spacing-xs) auto;flex-shrink:0;align-self:center}.indicator{width:8px;height:8px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.indicator.active{width:24px;border-radius:4px;background:var(--color-primary)}.MuiDrawer-paper{width:min(280px,80vw)!important}.character-select-content{flex-direction:column;flex:1;overflow:visible;position:relative;display:flex;min-height:0}.character-expanded-container{display:none}}@media (min-width: 481px) and (max-width: 768px){.character-gallery{padding:var(--spacing-sm);flex:1;min-height:0}.gallery-item{min-width:340px;max-width:400px;height:fit-content;transform:scale(.92)!important}.gallery-item.top-of-carousel{transform:scale(1)!important}.character-gallery-container{margin:0;padding:0}}@media (max-width: 480px){.character-gallery{padding:var(--spacing-xs);flex:1;min-height:0}.gallery-item{min-width:280px;max-width:320px;width:calc(100% - var(--spacing-sm));height:fit-content}.gallery-indicators{padding:4px 10px;margin:var(--spacing-xs) auto}.indicator{width:6px;height:6px}.indicator.active{width:18px}.character-gallery-container{margin:0;padding:0;flex:1;display:flex;flex-direction:column}}@media (min-width: 1200px) and (max-width: 1400px){.character-expanded-area{flex:0 0 380px}}@media (min-width: 769px) and (max-width: 1199px){.character-expanded-area{flex:0 0 360px;min-width:300px}.character-gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-sm)}}@media (min-width: 769px) and (max-width: 1024px){.character-select-content{gap:var(--spacing-md)}.character-gallery-container{padding-right:var(--spacing-sm)}.character-expanded-area{margin-left:var(--spacing-xs)}}@media (max-width: 360px){.character-gallery{padding:var(--spacing-xs);flex:1;min-height:0}.gallery-item{min-width:260px;max-width:280px;width:calc(100% - var(--spacing-xs));height:fit-content}.gallery-indicators{padding:3px 6px;margin:var(--spacing-xs) auto}.indicator{width:4px;height:4px}.indicator.active{width:12px}.character-gallery-container{margin:0;padding:0;flex:1}}@media (max-height: 700px) and (max-width: 768px){.character-gallery{padding:0 var(--spacing-xs)}.gallery-item{min-height:320px;transform:scale(.9)!important}.gallery-item.top-of-carousel{transform:scale(1)!important}.gallery-indicators{padding:3px 8px;margin:var(--spacing-xs) auto}}@media (max-height: 600px) and (max-width: 768px){.gallery-item{min-height:280px;transform:scale(.85)!important}.gallery-item.top-of-carousel{transform:scale(.95)!important}}@media (min-width: 769px){.character-select-container{position:relative;height:100%;padding:calc(var(--spacing-md) + var(--safe-area-inset-top)) calc(var(--spacing-md) + var(--safe-area-inset-right)) calc(var(--spacing-md) + var(--safe-area-inset-bottom)) calc(var(--spacing-md) + var(--safe-area-inset-left));background:linear-gradient(180deg,#0000001a,#0000000d);display:flex;flex-direction:column;min-height:0}.header-container{padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.08);max-width:1600px}.character-select-content{padding:var(--spacing-md);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);max-width:1600px;height:100%;min-height:0;overflow:hidden}.character-gallery-container{border-right:1px solid rgba(255,255,255,.08);padding-right:var(--spacing-xl)}.character-expanded-container{box-shadow:0 4px 30px #00000026;background:color-mix(in srgb,var(--color-background-primary) 10%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.title{font-size:calc(var(--font-size-xxxl) * 1.2);background:linear-gradient(to right,var(--color-text-primary),rgba(255,255,255,.7));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.02em;text-transform:none;padding-left:var(--spacing-sm)}.title:after{background:linear-gradient(90deg,#0000,#00000008 40%,#0000000f,#0000001a,#00000026);mix-blend-mode:overlay}.scramble-word{background:linear-gradient(to right,var(--color-text-primary),rgba(255,255,255,.7));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.character-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md);padding-top:var(--spacing-lg);scroll-padding:var(--spacing-md)}.gallery-item{opacity:0;transform:translateY(30px) scale(.95);animation:fadeInUp .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:calc(var(--animation-order) * .08s);transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s cubic-bezier(.25,.46,.45,.94),filter .3s ease}.gallery-item:hover{transform:translateY(-12px) scale(1.06);z-index:10;filter:brightness(1.05) saturate(1.1);box-shadow:0 20px 40px #00000040}.gallery-item:hover~.gallery-item{transform:scale(.96);opacity:.7;filter:brightness(.95) saturate(.9);transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s cubic-bezier(.25,.46,.45,.94),filter .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}60%{opacity:.8;transform:translateY(-5px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.gallery-item:nth-child(12n+1){--animation-order: 1}.gallery-item:nth-child(12n+2){--animation-order: 2}.gallery-item:nth-child(12n+3){--animation-order: 3}.gallery-item:nth-child(12n+4){--animation-order: 4}.gallery-item:nth-child(12n+5){--animation-order: 5}.gallery-item:nth-child(12n+6){--animation-order: 6}.gallery-item:nth-child(12n+7){--animation-order: 7}.gallery-item:nth-child(12n+8){--animation-order: 8}.gallery-item:nth-child(12n+9){--animation-order: 9}.gallery-item:nth-child(12n+10){--animation-order: 10}.gallery-item:nth-child(12n+11){--animation-order: 11}.gallery-item:nth-child(12n+12){--animation-order: 12}.character-gallery::-webkit-scrollbar{width:6px}.character-gallery::-webkit-scrollbar-track{background:#0003;border-radius:3px}.character-gallery::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px;transition:background-color .2s ease}.character-gallery::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.illustration-style-container{width:280px;margin:0;justify-content:flex-end}}.settings-open .header-buttons{visibility:hidden}.character-select-content{position:relative;z-index:1;display:flex;flex:1;width:100%;max-width:1800px;margin:0 auto;gap:var(--spacing-lg);min-height:0;justify-content:center}.character-gallery-container{flex:1 1 auto;max-width:1000px;display:flex;flex-direction:column;min-width:0;position:relative;border-right:1px solid rgba(255,255,255,.05);padding-right:var(--spacing-md);min-height:0;padding-top:var(--spacing-sm)}.character-expanded-area{flex:0 0 420px;min-width:320px;max-width:480px;display:flex;flex-direction:column;gap:var(--spacing-md);margin-left:var(--spacing-sm);position:relative;z-index:1;height:100%;min-height:0}.desktop-illustration-toggle{margin-bottom:var(--spacing-md);background:var(--color-glass-background-primary);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-xs);box-shadow:var(--shadow-md);opacity:0;transform:translate(-10px);animation:fadeInRight .3s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.1s;display:inline-flex;align-self:flex-start}@keyframes fadeInDown{to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.character-expanded-container{flex:1;border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xl);overflow:auto;opacity:0;transform:translate(20px);animation:slideIn .3s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.2s;position:relative;display:flex;flex-direction:column;min-height:0;max-height:100%}.character-expanded-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#16161a66;z-index:-1;pointer-events:none}.character-expanded-container::-webkit-scrollbar{width:6px}.character-expanded-container::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.character-expanded-container::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px;transition:background-color .2s ease}.character-expanded-container::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.character-gallery{width:100%;max-width:none;padding:var(--spacing-xl) var(--spacing-lg);margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-xl);justify-items:center;align-items:start;overflow-y:auto;position:relative;flex:1;min-height:0;scroll-behavior:smooth}@media (max-width: 768px){.character-select-content{flex-direction:column;flex:1;min-height:0}.character-gallery-container{flex:1;border-right:none;padding-right:0;display:flex;flex-direction:column;min-height:0}.character-expanded-container{display:none}.character-gallery{display:flex;gap:var(--spacing-sm);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory!important;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;padding:var(--spacing-md) var(--spacing-sm);flex:1;min-height:300px;align-items:center}.character-gallery::-webkit-scrollbar{display:none}}@media (min-width: 769px){.character-select-content{padding:var(--spacing-md)}.character-gallery{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md)}}@media (min-width: 1600px){.character-gallery{grid-template-columns:repeat(3,1fr);max-width:850px}}@media (min-width: 2000px){.character-gallery{grid-template-columns:repeat(3,1fr);max-width:900px;gap:var(--spacing-md)}}.empty-expanded-state{height:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius-lg);background:linear-gradient(135deg,#0003,#0000001a);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.empty-expanded-state:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,#ffffff05,#ffffff0d,#ffffff05);opacity:1;pointer-events:none;border-radius:inherit}.empty-expanded-state .empty-content{max-width:320px;position:relative;display:flex;flex-direction:column;gap:var(--spacing-lg)}.empty-expanded-state .brand-container{margin-bottom:var(--spacing-md)}.empty-expanded-state .brand-text{height:72px;font-family:var(--font-family-brand);font-size:var(--font-size-xxxl);font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-lg);display:block;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.empty-expanded-state h2{font-size:var(--font-size-xl);margin:0;font-weight:800;background:linear-gradient(135deg,var(--color-text-primary) 0%,rgba(255,255,255,.8) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(0,0,0,.3)}.empty-expanded-state p{font-size:var(--font-size-md);line-height:1.5;margin:0;opacity:.8;color:var(--color-text-primary)}.empty-state-features{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.empty-state-features .feature{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:var(--font-size-sm)}.empty-state-features .feature-highlight{color:var(--color-primary);font-weight:600}.empty-state-features .feature-text{color:var(--color-text-secondary)}.mobile-menu-button{width:44px!important;height:44px!important;padding:0!important;background:#0000004d!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--border-radius-lg)!important;box-shadow:0 4px 12px #0003!important;transition:all var(--transition-fast)!important}.mobile-menu-button:hover{background:#0006!important;transform:scale(1.05)}.mobile-drawer-content{height:100%;display:flex;flex-direction:column;background:var(--color-glass-background-primary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-left:1px solid var(--color-border)}.drawer-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:#0003}.drawer-header h2{margin:0;font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.drawer-buttons{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.drawer-button{width:100%;height:48px;padding:0 var(--spacing-md);background:#0003;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.drawer-button:hover{background:#ffffff0d;transform:translateY(-1px);box-shadow:var(--shadow-md)}.drawer-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.drawer-button svg{width:20px;height:20px;opacity:.9;transition:all var(--transition-fast)}.drawer-button:hover svg{opacity:1;transform:scale(1.1)}.drawer-button span{font-size:var(--font-size-md);font-weight:500;flex:1;text-align:left;opacity:.9}.drawer-button:hover span{opacity:1}@media (max-width: 768px){.header-container{display:none}.title{font-size:var(--font-size-xl);line-height:var(--line-height-xl);padding:var(--spacing-sm)}.header-buttons{display:none}.MuiDrawer-paper{width:min(280px,80vw)!important}}.drawer-button{opacity:0;transform:translate(20px);animation:slideIn .3s cubic-bezier(.4,0,.2,1) forwards}.drawer-button:nth-child(1){animation-delay:.1s}.drawer-button:nth-child(2){animation-delay:.15s}.drawer-button:nth-child(3){animation-delay:.2s}.drawer-button:nth-child(4){animation-delay:.25s}@keyframes slideIn{to{opacity:1;transform:translate(0)}}.MuiMenu-paper.MuiPopover-paper{background:var(--color-glass-background-primary)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border:1px solid var(--color-border)!important;border-radius:var(--border-radius-lg)!important;box-shadow:var(--shadow-xl)!important;min-width:200px!important;margin-top:var(--spacing-xs)!important;padding:var(--spacing-xs)!important;animation:menuSlideIn .2s cubic-bezier(.4,0,.2,1);transform-origin:top right}@keyframes menuSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.MuiMenuItem-root{height:44px!important;padding:0 var(--spacing-md)!important;margin:2px 0!important;font-family:var(--font-family)!important;font-size:var(--font-size-md)!important;color:var(--color-text-primary)!important;border-radius:var(--border-radius-md)!important;transition:all var(--transition-fast)!important;background:transparent!important;position:relative!important;overflow:hidden!important}.MuiMenuItem-root:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff0d;opacity:0;transition:opacity var(--transition-fast)}.MuiMenuItem-root:hover:before{opacity:1}.MuiMenuItem-root.Mui-selected{background:#0003!important;border:1px solid var(--color-border)!important}.MuiMenuItem-root.Mui-selected:hover{background:#00000040!important}.MuiMenuItem-root .MuiSvgIcon-root{font-size:20px!important;margin-right:var(--spacing-md)!important;transition:all var(--transition-fast)!important}.MuiMenuItem-root:hover .MuiSvgIcon-root{transform:scale(1.1)}@media (max-width: 768px){.MuiMenu-paper.MuiPopover-paper{width:calc(100vw - var(--spacing-lg))!important;max-width:300px!important;margin:var(--spacing-sm)!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.MuiMenuItem-root{height:48px!important;font-size:var(--font-size-md)!important}}.MuiPopover-root .MuiBackdrop-root{background:#0000004d!important;backdrop-filter:blur(4px)!important;-webkit-backdrop-filter:blur(4px)!important}.character-select-container.desktop-view{position:relative;top:auto;left:auto;right:auto;bottom:auto;height:100%;overflow:hidden;display:flex;flex-direction:column}@media (min-width: 769px){.character-select-container{position:relative;height:100%;top:auto;left:auto;right:auto;bottom:auto}}@media (min-width: 1400px){.character-gallery{grid-template-columns:repeat(3,1fr);max-width:840px}}@media (min-width: 2400px){.character-select-content{max-width:2000px}.character-gallery-container{max-width:1200px}.character-expanded-area{flex:0 0 500px;max-width:500px}.character-gallery{grid-template-columns:repeat(4,1fr);max-width:1100px}}.chat-screen{display:flex;flex-direction:column;height:100vh;height:100%;background-color:var(--color-background);transition:padding-right .3s cubic-bezier(.4,0,.2,1);position:relative;padding-top:var(--safe-area-inset-top);padding-bottom:var(--safe-area-inset-bottom);box-sizing:border-box;overflow:hidden}.chat-screen.embedded{height:100%;position:relative;border-radius:0;max-width:none;margin:0;overflow:hidden}body:not(.embedding-parent) .chat-screen:not(.embedded){height:100vh;height:100%}.chat-screen.drawer-open{padding-right:400px}.chat-header-wrapper{position:absolute;top:calc(var(--spacing-sm) + var(--safe-area-inset-top));left:var(--safe-area-inset-left);right:var(--safe-area-inset-right);z-index:100;pointer-events:none;padding-right:inherit;transition:padding-right .3s cubic-bezier(.4,0,.2,1)}.chat-screen.drawer-open .chat-header-wrapper{padding-right:400px}.chat-header-wrapper>*{pointer-events:auto}.input-container{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-md) var(--spacing-md);padding-bottom:max(var(--spacing-md),var(--safe-area-inset-bottom));max-width:800px;margin:0 auto;width:100%;display:flex;gap:var(--spacing-sm);align-items:flex-end;background:linear-gradient(to top,var(--color-background) 0%,var(--color-background) 60%,color-mix(in srgb,var(--color-background) 80%,transparent) 100%);z-index:100;box-sizing:border-box;transition:transform var(--transition-fast)}.gradient-icon{background:var(--button-fill-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;fill:transparent}.gradient-icon-wrapper{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.gradient-icon-wrapper svg{color:#fff}.gradient-fill{background:var(--button-fill-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important}.gradient-fill path{fill:currentColor}@media (min-width: 769px){.chat-screen.drawer-open .scroll-button{right:calc(400px + var(--spacing-md))}.chat-header-wrapper{margin:0 var(--spacing-lg)}}@media (max-width: 768px){.chat-screen:not(.embedded){height:100vh;height:100%;overflow:hidden}.chat-screen.embedded{height:100%}.input-container{max-width:100%;padding:var(--spacing-xs) var(--spacing-sm);padding-bottom:max(var(--spacing-xs),var(--safe-area-inset-bottom))}.chat-screen.drawer-open .input-container{max-width:100%;right:0}.chat-screen.drawer-open .scroll-button{right:var(--spacing-sm)}.chat-header-wrapper{width:100%;box-sizing:border-box;left:0;right:0;padding:0 max(var(--spacing-xs),var(--safe-area-inset-left))}.chat-screen.drawer-open,.chat-screen.drawer-open .chat-header-wrapper{padding-right:0}}@supports (-webkit-touch-callout: none){.chat-screen:not(.embedded){height:100%!important;padding-top:max(env(safe-area-inset-top),var(--safe-area-inset-top));padding-bottom:max(env(safe-area-inset-bottom),var(--safe-area-inset-bottom))}}.chat-screen.embedded .chat-header{border-radius:var(--border-radius-lg);margin-top:var(--spacing-md)}@media (max-width: 768px){.chat-screen.embedded{padding-bottom:0;height:100%}.chat-header{margin-left:var(--spacing-xs)!important;margin-right:var(--spacing-xs)!important;margin-top:var(--spacing-sm)!important}}.lightbox-container{position:fixed!important;z-index:2147483647!important;pointer-events:none}.chat-screen.embedded .image-gallery-overlay,.chat-screen.embedded .journal-view-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:9001;height:100%}.chat-screen.embedded .lightbox-image{max-width:100%;max-height:calc(100% - 160px);position:absolute;z-index:2147483647!important}@media (max-width: 768px){.chat-screen.embedded .image-gallery-overlay,.chat-screen.embedded .journal-view-overlay{position:absolute;height:100%}.chat-screen.embedded .lightbox-image{max-height:calc(100% - 120px);position:absolute;z-index:2147483647!important}.lightbox-container{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;z-index:2147483647!important;-webkit-transform:translateZ(0);transform:translateZ(0);display:flex;align-items:flex-start;padding-top:20vh}.lightbox-image.animating{max-height:75vh!important;top:40%!important}}body:has(.lightbox-container.visible) .input-container,body:has(.lightbox-container.visible) .suggestions-safe-area,body:has(.lightbox-container.visible) .chat-header-wrapper,body:has(.lightbox-container.visible) .scroll-button{visibility:hidden!important;pointer-events:none!important;opacity:0!important;z-index:-1!important}.lightbox-visible .input-container,.lightbox-visible .suggestions-safe-area,.lightbox-visible .chat-header-wrapper,.lightbox-visible .scroll-button{visibility:hidden!important;pointer-events:none!important;opacity:0!important;z-index:-1!important}.suggestions-safe-area{z-index:101}body.lightbox-visible .chat-screen *{pointer-events:none!important}body.lightbox-visible .lightbox-container,body.lightbox-visible .lightbox-container *{pointer-events:auto!important}.lightbox-container{position:fixed!important;z-index:9999999!important}.lightbox-container.visible{pointer-events:auto!important}.chat-header{margin:var(--spacing-md);margin-top:var(--spacing-sm);border-radius:var(--border-radius-xl);background-color:color-mix(in srgb,var(--color-glass-background-primary) 50%,transparent);box-shadow:var(--shadow-md),0 0 5px color-mix(in srgb,var(--accent-color, transparent) 20%,transparent),0 0 10px color-mix(in srgb,var(--accent-color, transparent) 10%,transparent);position:relative;transition:box-shadow var(--transition-accent),background-color var(--transition-accent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--color-background-secondary) 50%,transparent)}@media (min-width: 768px){.chat-header{max-width:800px;min-width:600px;margin-left:auto;margin-right:auto}}.chat-header__container{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-md);min-height:44px}.chat-header__left{display:flex;align-items:center;flex:1;min-width:0}.interactive-element{cursor:pointer;height:36px;min-width:36px;padding:var(--spacing-xs);border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--accent-color, var(--color-text-primary));transition:all var(--transition-fast),color var(--transition-accent),background-color var(--transition-accent)}.interactive-element:hover{background-color:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 15%,transparent);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.interactive-element:active{background-color:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 20%,transparent);transform:translateY(0);box-shadow:0 1px 2px #0000001a}.chat-header__back-button{margin-right:var(--spacing-sm)}.chat-header__back-button svg{width:24px;height:24px}.chat-header__avatar-container{margin-right:var(--spacing-sm)}.chat-header__avatar{width:24px;height:24px}.chat-header__text-container{flex:1;display:flex;flex-direction:column;justify-content:center;height:100%;min-width:0}.chat-header__character-name{color:var(--accent-color, var(--color-text-primary));margin:0;font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:600;transition:color var(--transition-accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header__status-container{display:flex;align-items:center;opacity:.6;margin-top:1px}.chat-header__status-dot{width:8px;height:8px;border-radius:4px;margin-right:3px}.chat-header__status-text{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:var(--line-height-xs)}.chat-header__balance-container{display:flex;align-items:center;gap:var(--spacing-xs);margin-left:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm)}.chat-header__balance-icon{font-size:20px!important;color:var(--accent-color, var(--color-text-primary));transition:color var(--transition-accent)}.chat-header__balance-text{font-size:var(--font-size-md);color:var(--accent-color, var(--color-text-primary));line-height:var(--line-height-md);font-weight:600;min-width:2ch;text-align:right;transition:color var(--transition-accent)}@media (max-width: 768px){.chat-header__balance-container{margin-left:var(--spacing-sm)}.chat-header__balance-text{font-size:var(--font-size-sm)}}.chat-header__right{display:flex;align-items:center;gap:16px}.chat-header__settings-button{background:none;border:none;padding:8px;color:var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center}.chat-header__settings-button svg{width:24px;height:24px}.chat-header__icon-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center}.chat-header__icon-button svg{width:22px;height:22px}@media (max-width: 768px){.chat-header__right{gap:8px}.chat-header__icon-button{width:32px;height:32px}.chat-header__icon-button svg{width:20px;height:20px}}.avatar-container{width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--border-radius-round);box-shadow:0 0 10px var(--glow-color),0 0 15px color-mix(in srgb,var(--glow-color) 30%,transparent),0 0 20px color-mix(in srgb,var(--glow-color) 20%,transparent);overflow:hidden}.avatar-image{width:100%;height:100%;border-radius:var(--border-radius-round);object-fit:cover}.generic-popover-paper{background:var(--color-glass-background-primary)!important;color:var(--color-text-primary)!important;border-radius:var(--border-radius-lg)!important;width:360px;overflow:hidden!important;box-shadow:var(--shadow-xl)!important;backdrop-filter:blur(20px) saturate(120%)!important;-webkit-backdrop-filter:blur(20px) saturate(120%)!important;border:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent)!important}.generic-popover-container{display:flex;flex-direction:column;height:100%;max-height:80vh}.generic-popover-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 8%,transparent);background:color-mix(in srgb,var(--color-glass-background-primary) 40%,transparent);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);min-height:56px}.generic-popover-header-content{flex:1;min-width:0}.generic-popover-close{background:transparent;border:1px solid color-mix(in srgb,var(--color-text-primary) 15%,transparent);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);margin:0;opacity:1;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);flex-shrink:0;width:32px;height:32px}.generic-popover-close:hover{background:color-mix(in srgb,var(--color-text-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-text-primary) 25%,transparent);color:var(--color-text-primary);transform:translateY(-1px)}.generic-popover-close:active{transform:translateY(0)}.generic-popover-title{margin:0;font-size:var(--font-size-lg);color:var(--color-text-primary);font-weight:600;line-height:var(--line-height-lg);letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generic-popover-subtitle{margin:0;margin-top:var(--spacing-xxs);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-sm);overflow:hidden;text-overflow:ellipsis}.generic-popover-content{flex:1;overflow-y:auto;overflow-x:hidden;background-color:transparent;min-height:0;display:flex;flex-direction:column;width:100%;box-sizing:border-box;padding:var(--spacing-lg)}.generic-popover-content::-webkit-scrollbar{width:6px}.generic-popover-content::-webkit-scrollbar-track{background:transparent;margin:var(--spacing-sm) 0}.generic-popover-content::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--color-text-primary) 20%,transparent);border-radius:var(--border-radius-round);border:1px solid transparent;background-clip:padding-box}.generic-popover-content::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}.generic-popover-content:empty:after{content:"";display:block;padding:var(--spacing-xxl);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}@media (max-width: 768px){.generic-popover-paper{width:calc(100vw - var(--spacing-lg));max-width:360px;max-height:calc(100vh - var(--spacing-xxl))}.generic-popover-container{max-height:100%}.generic-popover-header{padding:var(--spacing-sm) var(--spacing-md);min-height:48px}.generic-popover-content{padding:var(--spacing-md)}.generic-popover-close{width:28px;height:28px}}.generic-popover-fullscreen{width:80vw!important;max-width:1200px!important;height:80vh!important;max-height:900px!important}.generic-popover-fullscreen .generic-popover-container{max-height:100%!important;height:100%}.generic-popover-fullscreen .generic-popover-content{padding:0;display:block;overflow:hidden}.transaction-history-list{flex:1;overflow-y:auto;background-color:transparent;height:400px;min-height:0;margin:calc(var(--spacing-lg) * -1);padding:0}.transaction-item{padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);transition:background-color var(--transition-fast);cursor:default;position:relative;background-color:transparent;border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 5%,transparent)}.transaction-item:last-child{border-bottom:none}.transaction-item:hover{background-color:color-mix(in srgb,var(--color-text-primary) 5%,transparent)}.transaction-info{display:flex;flex-direction:column;gap:var(--spacing-xxs);flex:1;min-width:0}.transaction-date{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:400;line-height:var(--line-height-xs)}.transaction-cause{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:500;line-height:var(--line-height-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-amount{font-size:var(--font-size-md);font-weight:600;font-family:var(--font-family-mono);min-width:fit-content;text-align:right;line-height:1;white-space:nowrap}.transaction-amount.positive{color:var(--color-status-success)}.transaction-amount.negative{color:var(--color-status-error)}.loading-container{display:flex;justify-content:center;align-items:center;padding:var(--spacing-lg);min-height:60px}.loading-container .MuiCircularProgress-root{color:var(--color-text-secondary)!important}.transaction-history-list::-webkit-scrollbar{width:6px}.transaction-history-list::-webkit-scrollbar-track{background:transparent;margin:var(--spacing-sm) 0}.transaction-history-list::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--color-text-primary) 20%,transparent);border-radius:var(--border-radius-round);border:1px solid transparent;background-clip:padding-box}.transaction-history-list::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}@media (max-width: 768px){.transaction-history-list{height:60vh;max-height:400px;-webkit-overflow-scrolling:touch;margin:calc(var(--spacing-md) * -1)}.transaction-item{padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm);min-height:44px}.transaction-amount,.transaction-cause{font-size:var(--font-size-sm)}}.image-gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:color-mix(in srgb,var(--color-background) 75%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;display:flex;flex-direction:column;animation:gallery-fade-in .3s cubic-bezier(.4,0,.2,1)}.image-gallery-popover{display:flex;flex-direction:column;height:100%}.image-gallery-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:color-mix(in srgb,var(--color-background) 95%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm),0 4px 12px color-mix(in srgb,var(--color-background) 50%,transparent)}.image-gallery-header h2{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.image-gallery-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.image-gallery-popover .image-gallery-content{padding:var(--spacing-lg)}.image-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);padding-bottom:var(--spacing-md)}.image-gallery-item{aspect-ratio:1;border:none;padding:0;background:none;cursor:pointer;border-radius:var(--border-radius-md);overflow:hidden;position:relative;transition:all var(--transition-fast);box-shadow:var(--shadow-md),0 0 0 2px var(--epoch-color)}.image-gallery-item:hover{transform:scale(1.02);box-shadow:var(--shadow-lg),0 0 0 3px var(--epoch-color),0 0 15px color-mix(in srgb,var(--epoch-color) 30%,transparent)}.image-gallery-item.has-versions{transform-style:preserve-3d;perspective:1000px}.image-gallery-item.has-versions:hover{transform:scale(1.02) translateY(-2px)}.version-stack{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.version-stack .stack-layer{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-background);border-radius:var(--border-radius-md);box-shadow:var(--shadow-md),0 0 0 2px var(--epoch-color);transition:all var(--transition-fast)}.version-stack .stack-layer:nth-child(1){transform:translateY(2px) translate(2px);opacity:.3}.version-stack .stack-layer:nth-child(2){transform:translateY(4px) translate(4px);opacity:.15}.image-gallery-item.has-versions:hover .stack-layer:nth-child(1){transform:translateY(3px) translate(3px)}.image-gallery-item.has-versions:hover .stack-layer:nth-child(2){transform:translateY(6px) translate(6px)}.image-gallery-item img{width:100%;height:100%;object-fit:cover;position:relative;z-index:1;border-radius:var(--border-radius-md);background-color:var(--color-background)}.image-gallery-overlay.lightbox-mode{background-color:color-mix(in srgb,var(--color-background) 5%,black);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.image-gallery-overlay.lightbox-mode .image-gallery-content{display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden}.lightbox-view{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;touch-action:none}.lightbox-image-container{flex:1;width:100%;height:100%;position:relative;overflow:hidden;transform:translateZ(0);-webkit-transform:translateZ(0)}.lightbox-image-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform;backface-visibility:hidden;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;transform:translateZ(0) translate(0);-webkit-transform:translateZ(0) translateX(0)}.lightbox-image{max-width:100%;max-height:calc(100% - 160px);object-fit:contain;border-radius:var(--border-radius-md);box-shadow:var(--shadow-2xl),0 0 0 3px var(--epoch-color),0 0 30px color-mix(in srgb,var(--epoch-color) 20%,transparent);pointer-events:none;transform:translateZ(0);-webkit-transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;opacity:1;transition:opacity .2s ease-out}.lightbox-image-wrapper.current{transform:translate(0)}.lightbox-image-wrapper.next{transform:translateZ(0) translate(100%);-webkit-transform:translateZ(0) translateX(100%)}.lightbox-image-wrapper.prev,.lightbox-image-container.slide-left .lightbox-image-wrapper.current{transform:translateZ(0) translate(-100%);-webkit-transform:translateZ(0) translateX(-100%)}.lightbox-image-container.slide-left .lightbox-image-wrapper.next{transform:translateZ(0) translate(0);-webkit-transform:translateZ(0) translateX(0)}.lightbox-image-container.slide-right .lightbox-image-wrapper.current{transform:translateZ(0) translate(100%);-webkit-transform:translateZ(0) translateX(100%)}.lightbox-image-container.slide-right .lightbox-image-wrapper.prev{transform:translateZ(0) translate(0);-webkit-transform:translateZ(0) translateX(0)}.lightbox-controls{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);animation:controls-slide-up .3s cubic-bezier(.4,0,.2,1)}.version-controls,.navigation-controls{display:flex;align-items:center;gap:var(--spacing-xs);background-color:color-mix(in srgb,var(--color-background) 95%,transparent);padding:var(--spacing-xs);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md)}.control-button{background:none;border:none;color:var(--color-text-secondary);padding:var(--spacing-xs);border-radius:var(--border-radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.control-button:hover:not(:disabled){background-color:var(--color-background-secondary);color:var(--color-text-primary);transform:scale(1.1)}.control-button:disabled{opacity:.5;cursor:not-allowed}.control-button .MuiSvgIcon-root{font-size:20px}.control-counter{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);min-width:80px;justify-content:center}.control-counter .MuiSvgIcon-root{font-size:16px}@keyframes slide-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slide-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes gallery-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-zoom-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes controls-slide-up{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 768px){.image-gallery-header{padding:var(--spacing-sm) var(--spacing-md)}.image-gallery-content{padding:var(--spacing-sm)}.image-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-sm)}.lightbox-image{max-width:100%;max-height:calc(100% - 120px)}.nav-button{width:40px;height:40px}.nav-button.prev{left:var(--spacing-sm)}.nav-button.next{right:var(--spacing-sm)}.lightbox-info{bottom:var(--spacing-md);width:calc(100% - var(--spacing-lg))}.version-controls{width:100%;justify-content:space-between}.control-counter{min-width:100px}.lightbox-image-wrapper{transition:transform .35s cubic-bezier(.4,0,.2,1)}}.journal-view-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:color-mix(in srgb,var(--color-background) 75%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1000;display:flex;flex-direction:column;animation:journal-fade-in .3s cubic-bezier(.4,0,.2,1)}.journal-view-popover{display:flex;flex-direction:column;height:100%}.journal-view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background-color:color-mix(in srgb,var(--color-background) 95%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm),0 4px 12px color-mix(in srgb,var(--color-background) 50%,transparent)}.journal-view-header h2{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.journal-view-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.journal-view-popover .journal-view-content{padding:var(--spacing-lg)}.journal-loading,.journal-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-secondary);font-size:var(--font-size-md)}.journal-entries{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:800px;margin:0 auto;padding-bottom:var(--spacing-md)}.journal-entry{background-color:color-mix(in srgb,var(--color-background) 95%,transparent);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-md);transition:all var(--transition-fast);border-left:4px solid var(--epoch-color, var(--color-border));position:relative}.journal-entry:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 15px color-mix(in srgb,var(--epoch-color) 20%,transparent)}.journal-entry:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--border-radius-lg);background:linear-gradient(to right,color-mix(in srgb,var(--epoch-color) 8%,transparent),color-mix(in srgb,var(--epoch-color) 2%,transparent));pointer-events:none}.journal-entry-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-sm)}.journal-entry-title{display:flex;flex-direction:column;gap:var(--spacing-xs)}.conversation-type{font-size:var(--font-size-sm);color:var(--epoch-color);text-transform:capitalize;font-weight:500}.journal-entry-header h3{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.journal-entry-time{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.journal-entry-content{color:var(--color-text-primary);line-height:1.6;white-space:pre-wrap}@keyframes journal-fade-in{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.journal-view-header{padding:var(--spacing-sm) var(--spacing-md)}.journal-view-content{padding:var(--spacing-sm)}.journal-entries{gap:var(--spacing-sm)}.journal-entry{padding:var(--spacing-sm)}}.close-button{background-color:var(--color-background-secondary);border:2px solid var(--color-border);color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-md);font-size:1.2em;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);box-shadow:var(--shadow-md);margin-left:var(--spacing-md)}.close-button:hover{background-color:var(--color-text-primary);color:var(--color-background);transform:scale(1.1);box-shadow:var(--shadow-lg),0 0 20px #0003;border-color:var(--color-text-primary)}.speech-recorder-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000;padding:var(--spacing-md);animation:fadeIn .3s ease-out}.speech-recorder-modal{position:relative;width:calc(100% - 32px);max-width:420px;background:var(--color-glass-background-primary);color:var(--color-text-primary);border-radius:var(--border-radius-xxl);padding:var(--spacing-xl) var(--spacing-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 0 0 1px #ffffff26,0 10px 30px #00000080,0 15px 45px #0006;border:1px solid color-mix(in srgb,var(--color-background-primary) 50%,transparent);transform:translateY(0);transition:all var(--transition-normal)}.speech-recorder-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.speech-recorder-time{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);background-color:color-mix(in srgb,var(--accent-color, transparent) 5%,transparent);transition:all var(--transition-normal)}.speech-recorder-time.warning{color:#ff5ca1e6;background-color:#ff5ca126}.speech-recorder-visualization{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center;margin-top:var(--spacing-md);animation:fadeIn .4s ease-out}.speech-recorder-circle{position:absolute;border-radius:50%;background:radial-gradient(circle,#ff5ca133,#6055ff26);box-shadow:0 0 8px #ff5ca14d;opacity:.7;transition:box-shadow .5s ease-out,transform .3s ease-out}.speech-recorder-circle.level-0{width:50px;height:50px;animation:pulse-0 3s infinite ease-in-out}.speech-recorder-circle.level-1{width:75px;height:75px;animation:pulse-1 3.3s infinite ease-in-out;background:radial-gradient(circle,#ff5ca12b,#6055ff21);box-shadow:0 0 8px #ff5ca140}.speech-recorder-circle.level-2{width:100px;height:100px;animation:pulse-2 3.6s infinite ease-in-out;background:radial-gradient(circle,#ff5ca124,#6055ff1c);box-shadow:0 0 8px #ff5ca133}.speech-recorder-circle.level-3{width:125px;height:125px;animation:pulse-3 3.9s infinite ease-in-out;background:radial-gradient(circle,#ff5ca11c,#6055ff17);box-shadow:0 0 8px #ff5ca126}.speech-recorder-circle.level-4{width:150px;height:150px;animation:pulse-4 4.2s infinite ease-in-out;background:radial-gradient(circle,#ff5ca114,#6055ff12);box-shadow:0 0 8px #ff5ca11a}.speech-recorder-circle.level-5{width:175px;height:175px;animation:pulse-5 4.5s infinite ease-in-out;background:radial-gradient(circle,#ff5ca10d,#6055ff0d);box-shadow:0 0 8px #ff5ca10d}.speech-recorder-level-ring{position:absolute;width:80px;height:80px;border-radius:50%;border:2px solid rgba(255,255,255,.4);box-shadow:0 0 5px #ffffff4d;transition:all .5s ease-out}.speech-recorder-mic-button{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--button-fill-gradient);box-shadow:0 0 15px #ff5ca180;animation:pulse-base 1.5s infinite,glowPulse 2s infinite;transition:transform .3s ease-out,box-shadow .3s ease-out,background .3s ease-out;z-index:10}.speech-recorder-mic-button.speaking{box-shadow:0 0 20px #ff5ca1b3}.speech-recorder-mic-button .MuiSvgIcon-root{color:#fff;font-size:30px}.speech-recorder-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.5);margin-bottom:var(--spacing-md);transition:all .3s ease-out;animation:fadeIn .5s ease-out;text-align:center;letter-spacing:.5px;background:var(--label-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.speech-recorder-stop-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--button-fill-gradient);color:var(--color-text-inverse);border-radius:var(--border-radius-md);font-weight:500;font-size:var(--font-size-md);display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;box-shadow:0 4px 12px #00000026;animation:fadeIn .6s ease-out;transition:all var(--transition-fast);border:none;min-height:44px;min-width:120px;position:relative;overflow:hidden}.speech-recorder-stop-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity var(--transition-fast)}.speech-recorder-stop-button:hover:before{opacity:1}.speech-recorder-stop-button:hover{transform:translateY(-2px);box-shadow:0 6px 15px #ff5ca14d}.speech-recorder-stop-button:active{transform:translateY(0);box-shadow:0 2px 6px #ff5ca133}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-base{0%{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:.7}to{transform:scale(1);opacity:.6}}@keyframes glowPulse{0%{box-shadow:0 0 5px #ff5ca180}50%{box-shadow:0 0 15px #ff5ca1cc}to{box-shadow:0 0 5px #ff5ca180}}@keyframes pulse-0{0%{transform:scale(1.02)}30%{transform:scale(1.1)}70%{transform:scale(1.05)}to{transform:scale(1.02)}}@keyframes pulse-1{0%{transform:scale(1.02)}40%{transform:scale(1.1)}80%{transform:scale(1.05)}to{transform:scale(1.02)}}@keyframes pulse-2{0%{transform:scale(1.01)}50%{transform:scale(1.09)}90%{transform:scale(1.03)}to{transform:scale(1.01)}}@keyframes pulse-3{0%{transform:scale(1.01)}60%{transform:scale(1.08)}to{transform:scale(1.01)}}@keyframes pulse-4{0%{transform:scale(1)}70%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes pulse-5{0%{transform:scale(1)}80%{transform:scale(1.06)}to{transform:scale(1)}}@media (max-width: 768px){.speech-recorder-modal{max-width:360px;padding:var(--spacing-lg)}.speech-recorder-visualization{width:220px;height:220px}.speech-recorder-circle.level-0{width:42px;height:42px}.speech-recorder-circle.level-1{width:64px;height:64px}.speech-recorder-circle.level-2{width:85px;height:85px}.speech-recorder-circle.level-3{width:106px;height:106px}.speech-recorder-circle.level-4{width:127px;height:127px}.speech-recorder-circle.level-5{width:148px;height:148px}.speech-recorder-level-ring{width:70px;height:70px}.speech-recorder-mic-button{width:50px;height:50px}.speech-recorder-mic-button .MuiSvgIcon-root{font-size:24px}.speech-recorder-title{font-size:var(--font-size-lg)}.speech-recorder-stop-button{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}}.input-wrapper{position:relative;display:flex;align-items:center;background-color:color-mix(in srgb,var(--color-glass-background-primary) 50%,transparent);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md),0 0 5px color-mix(in srgb,var(--accent-color, transparent) 20%,transparent),0 0 10px color-mix(in srgb,var(--accent-color, transparent) 10%,transparent);transition:all var(--transition-fast),box-shadow var(--transition-accent),background-color var(--transition-accent);flex:1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--color-background-secondary) 50%,transparent)}.input-wrapper:focus-within{background-color:color-mix(in srgb,var(--color-glass-background-primary) 70%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-lg),0 0 10px color-mix(in srgb,var(--accent-color, transparent) 30%,transparent),0 0 15px color-mix(in srgb,var(--accent-color, transparent) 15%,transparent);border-color:color-mix(in srgb,var(--accent-color, transparent) 30%,transparent)}.message-input{flex:1;min-height:44px;padding:12px var(--spacing-md);padding-right:var(--spacing-sm);border:none;background:none;color:var(--color-text-primary);font-size:var(--font-size-md);line-height:20px;resize:none;overflow:hidden;font-family:inherit}.message-input:focus{outline:none}.message-input::placeholder{color:var(--color-text-secondary);opacity:.7}@keyframes blink{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.animate-placeholder{position:absolute;top:50%;left:var(--spacing-md);transform:translateY(-50%);font-size:var(--font-size-md);line-height:20px;color:var(--color-text-secondary);opacity:.5;pointer-events:none;display:flex;align-items:center;font-weight:400;font-family:inherit}.animate-placeholder.hidden{display:none}.animate-placeholder .dot{display:inline-block;opacity:.4;animation:blink 1.4s infinite;margin-left:2px}.animate-placeholder .dot:nth-child(2){animation-delay:.2s}.animate-placeholder .dot:nth-child(3){animation-delay:.4s}@keyframes sendButtonEnter{0%{opacity:0;transform:scale(.8) translate(4px);width:0;margin-right:0;visibility:visible}to{opacity:1;transform:scale(1) translate(0);width:32px;margin-right:var(--spacing-sm);visibility:visible}}@keyframes sendButtonExit{0%{opacity:1;transform:scale(1) translate(0);width:32px;margin-right:var(--spacing-sm);visibility:visible}to{opacity:0;transform:scale(.8) translate(4px);width:0;margin-right:0;visibility:hidden}}.send-button{flex-shrink:0;width:0;height:32px;padding:0;border-radius:var(--border-radius-lg);background:color-mix(in srgb,var(--accent-color) 10%,transparent);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8) translate(4px);pointer-events:none;visibility:hidden;margin:0;overflow:hidden;transition:none}.send-button.visible{animation:sendButtonEnter .2s cubic-bezier(.4,0,.2,1) forwards;pointer-events:auto}.send-button.visible.exiting{animation:sendButtonExit .2s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.send-button:disabled{cursor:default;opacity:.5}.send-button .MuiSvgIcon-root{font-size:20px;transition:transform var(--transition-fast);background:var(--button-fill-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.mic-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:none;padding:8px;cursor:pointer;color:var(--accent-color, var(--color-text-secondary));opacity:.6;transition:all var(--transition-fast),color var(--transition-accent);display:flex;align-items:center;justify-content:center;z-index:2;border-radius:var(--border-radius-lg);width:32px;height:32px}.mic-button:hover{opacity:1;background-color:color-mix(in srgb,var(--accent-color) 10%,transparent);transform:translateY(-50%) scale(1.05)}.mic-button:active{transform:translateY(-50%) scale(.95)}.mic-button:disabled{opacity:.3;cursor:not-allowed}.transcribing-container{position:relative;display:flex;align-items:center;justify-content:space-between;background-color:color-mix(in srgb,var(--color-glass-background-primary) 50%,transparent);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-md),0 0 5px color-mix(in srgb,var(--accent-color, transparent) 20%,transparent),0 0 10px color-mix(in srgb,var(--accent-color, transparent) 10%,transparent);transition:all var(--transition-fast),box-shadow var(--transition-accent);flex:1;padding:0 var(--spacing-sm) 0 var(--spacing-md);min-height:44px;animation:fadeIn .3s ease-out;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--color-background-secondary) 50%,transparent)}.transcribing-indicator{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;color:var(--color-text-secondary);font-size:var(--font-size-md)}.transcribing-indicator span{color:var(--accent-color);font-weight:500}.cancel-transcription-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);opacity:.7;transition:all var(--transition-fast)}.cancel-transcription-button:hover{color:var(--color-error);opacity:1;background-color:color-mix(in srgb,var(--color-error) 5%,transparent)}.cancel-transcription-button:active{transform:scale(.95)}.send-icon-svg{fill:#ff5ca1}.send-button.visible .send-icon-svg{opacity:1}.send-button.visible:hover{background:color-mix(in srgb,var(--accent-color) 20%,transparent);transform:scale(1.05)}.send-button.visible:active{transform:scale(.95)}.send-button.visible:hover .send-icon-svg{fill:#6055ff}@media (max-width: 768px){.input-wrapper{min-height:40px;width:100%;box-sizing:border-box}.message-input{min-height:40px;padding:10px var(--spacing-sm);width:100%;box-sizing:border-box}.transcribing-container{min-height:40px;padding:0 var(--spacing-xs) 0 var(--spacing-sm)}.transcribing-indicator{font-size:var(--font-size-sm)}.cancel-transcription-button{width:28px;height:28px}.mic-button{padding:6px}}.message-container{max-width:80%;margin:var(--spacing-xs) 0;padding:calc(var(--spacing-message-bubble-padding) * .75);border-radius:var(--border-radius-lg);--message-font-size: 16px;position:relative}.message-container.transient.user-message,.message-container.transient.bot-message{opacity:.7;filter:saturate(.8);background-color:color-mix(in srgb,var(--color-background-secondary) 90%,transparent);box-shadow:none}.message-container.transient.user-message .message-text,.message-container.transient.bot-message .message-text{font-style:italic;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--color-text-primary) 40%,transparent);text-decoration-thickness:1px}.message-container.transient.user-message .message-footer,.message-container.transient.bot-message .message-footer,.message-container.transient.user-message .message-thoughts,.message-container.transient.bot-message .message-thoughts,.message-container.transient.user-message .image-container,.message-container.transient.bot-message .image-container,.message-container.transient.user-message .feedback-actions,.message-container.transient.bot-message .feedback-actions,.message-container.transient.user-message .drawer-toggle,.message-container.transient.bot-message .drawer-toggle{opacity:.5;pointer-events:none}.system-message{align-self:center;background-color:transparent;padding:var(--spacing-xs) 0;max-width:100%;text-align:center}.system-message .message-text{color:var(--color-error, #ef5350);font-size:calc(var(--message-font-size) * .9);font-style:italic}.system-message .message-footer{display:none}.user-message{align-self:flex-end;background-color:#2b3147}.bot-message{align-self:flex-start;background-color:transparent}.message-thoughts{display:flex;align-items:flex-start;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);font-size:calc(var(--message-font-size) * .875);line-height:1.4;font-style:italic}.thoughts-icon{font-size:calc(var(--message-font-size) * 1.2)!important;opacity:.7;flex-shrink:0;margin-top:2px}.message-content{position:relative}.message-text{font-size:var(--message-font-size);line-height:1.4;font-weight:400;margin:0}.message-text>div{display:flex;flex-direction:column;gap:var(--spacing-xs)}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin:0;line-height:1.3}.message-text h1{font-size:1.5em}.message-text h2{font-size:1.3em}.message-text h3{font-size:1.2em}.message-text h4{font-size:1.1em}.message-text h5,.message-text h6{font-size:1em}.message-text p{margin:0}.message-text ul,.message-text ol{margin:0;padding-left:1.5em}.message-text li{margin:.2em 0}.message-text code{background-color:color-mix(in srgb,var(--color-text-primary) 10%,transparent);padding:.2em .4em;border-radius:var(--border-radius-sm);font-family:monospace;font-size:.9em}.message-text pre{background-color:color-mix(in srgb,var(--color-text-primary) 10%,transparent);padding:var(--spacing-sm);border-radius:var(--border-radius-md);overflow-x:auto;margin:0}.message-text pre code{background-color:transparent;padding:0;border-radius:0}.message-text blockquote{margin:0;padding-left:var(--spacing-md);border-left:3px solid color-mix(in srgb,var(--color-text-primary) 30%,transparent);font-style:italic}.message-text a{color:var(--accent-color);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text table{border-collapse:collapse;width:100%;margin:0}.message-text th,.message-text td{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid color-mix(in srgb,var(--color-text-primary) 20%,transparent);text-align:left}.message-text th{background-color:color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.message-text img{max-width:100%;height:auto;border-radius:var(--border-radius-md)}.message-text hr{border:none;border-top:1px solid color-mix(in srgb,var(--color-text-primary) 20%,transparent);margin:var(--spacing-sm) 0}.user-message-text{color:var(--color-text-inverse)}.bot-message-text{color:var(--color-text-primary)}.message-footer{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xxs);position:relative}.message-footer .feedback-actions{display:flex;align-items:center;gap:var(--spacing-xs);transition:all var(--transition-fast);margin-left:0;opacity:0;transform:translate(10px)}.message-time{font-size:var(--font-size-sm);color:var(--color-text-secondary);opacity:.7}.drawer-toggle,.message-drawer,.drawer-actions{display:none}@keyframes thumbs-up-animation{0%{transform:scale(1)}30%{transform:scale(1.2) rotate(-10deg)}60%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}@keyframes thumbs-down-animation{0%{transform:scale(1)}30%{transform:scale(1.2) rotate(10deg)}60%{transform:scale(1.2) rotate(-10deg)}to{transform:scale(1) rotate(0)}}@keyframes feedback-sparkle{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(180deg);opacity:1}to{transform:scale(0) rotate(360deg);opacity:0}}.feedback-thumbs-up-animation .feedback-button.active[aria-label="Thumbs up"]{animation:thumbs-up-animation 1s cubic-bezier(.4,0,.2,1)}.feedback-thumbs-down-animation .feedback-button.active[aria-label="Thumbs down"]{animation:thumbs-down-animation 1s cubic-bezier(.4,0,.2,1)}.feedback-button.active:before{content:"";position:absolute;width:200%;height:200%;left:-50%;top:-50%;background:radial-gradient(circle,var(--accent-color) 0%,transparent 60%);opacity:0;animation:feedback-sparkle 1s cubic-bezier(.4,0,.2,1);pointer-events:none}.image-container{position:relative;max-width:384px;margin:8px 0;min-height:100px}.image-button{position:relative;padding:0;border:none;background:none;cursor:pointer;display:block;width:fit-content;min-height:100px}.message-image{max-width:225px;width:100%;height:auto;border-radius:8px;object-fit:contain;transition:all .3s ease;display:block;opacity:0}.message-image.loaded{opacity:1}.message-image.regenerating{filter:blur(4px)}.image-regenerating-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;border-radius:8px;animation:fadeIn .3s ease;pointer-events:none}.image-button .image-regenerating-overlay{width:225px;height:100%}.regenerating-content{display:flex;align-items:center;gap:8px;color:#fff;font-size:16px}.regenerating-icon{animation:spin 1.5s linear infinite}.image-generating-container{background-color:var(--color-background-primary);border-radius:var(--border-radius-lg);padding:var(--spacing-message-bubble-padding);margin:var(--spacing-sm) 0;max-width:225px;position:relative}.generating-progress{display:flex;flex-direction:column;gap:var(--spacing-xs)}.generating-progress-bar{height:2px;background:color-mix(in srgb,var(--color-text-primary) 8%,transparent);border-radius:var(--border-radius-sm);overflow:hidden}.generating-progress-fill{height:100%;background:var(--accent-color, var(--color-text-primary));border-radius:var(--border-radius-sm);animation:progressBar 2s ease-in-out infinite;transform-origin:left}.generating-content{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:400;opacity:.8}.generating-icon{color:var(--accent-color, var(--color-text-primary));font-size:calc(var(--font-size-sm) * 1.2)!important;opacity:.7;flex-shrink:0}@keyframes progressBar{0%{transform:translate(-100%)}to{transform:translate(100%)}}.lightbox-container{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000;display:flex;justify-content:center;align-items:center;z-index:2147483647!important;transition:background-color .3s ease-out;pointer-events:none}.lightbox-container.visible{background-color:#000000e6;pointer-events:auto!important}.lightbox-image{max-width:90vw;max-height:90vh;width:auto;height:auto;object-fit:contain;border-radius:var(--border-radius-md);transition:none;z-index:2147483647;transform:translateZ(0);will-change:transform}.lightbox-image.animating{transition:all .3s cubic-bezier(.4,0,.2,1);width:auto!important;height:auto!important;max-width:90vw;max-height:90vh;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;position:absolute}.lightbox-image.visible{opacity:1;transform:scale(1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.message-footer.drawer-open .feedback-actions{opacity:1;transform:translate(0);pointer-events:auto}.loading-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--color-background-secondary) 0%,rgba(255,255,255,.1) 50%,var(--color-background-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:8px}.markdown-emphasis{font-style:italic;color:var(--epoch-color)}#lightbox-portal{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;pointer-events:none;z-index:2147483647}#lightbox-portal .lightbox-container{position:absolute;z-index:2147483647}body.lightbox-visible .input-container,body.lightbox-visible .suggestions-safe-area,body.lightbox-visible .scroll-button,body.lightbox-visible .chat-header-wrapper,body.lightbox-visible .drawer-toggle{pointer-events:none!important}.tts-generating-container{border-radius:var(--border-radius-lg);padding:var(--spacing-message-bubble-padding);margin:var(--spacing-sm) 0;max-width:225px;position:relative}.tts-generating-content{display:flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:400;opacity:.8}.tts-generating-content span{position:relative;background:linear-gradient(90deg,var(--color-text-secondary) 0%,var(--color-text-secondary) 40%,rgba(255,255,255,.8) 50%,var(--color-text-secondary) 60%,var(--color-text-secondary) 100%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:tts-text-shine 4s linear infinite}@keyframes tts-text-shine{0%{background-position:200% center}to{background-position:-200% center}}.tts-generating-icon{color:var(--accent-color, var(--color-text-primary));font-size:calc(var(--font-size-sm) * 1.2)!important;opacity:.7;flex-shrink:0}.message-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs);opacity:1;transform:translateY(0);transition:all var(--transition-fast)}.message-action-button{position:relative;min-width:44px;height:32px;padding:0 var(--spacing-sm);background:color-mix(in srgb,var(--color-text-primary) 4%,transparent);border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);transition:all .2s ease;opacity:.9;font-size:var(--font-size-sm);font-weight:500;white-space:nowrap}.message-action-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--accent-color) 0%,color-mix(in srgb,var(--accent-color) 80%,white) 100%);opacity:0;transition:opacity .3s ease;z-index:-1}.message-action-button:hover:not(:disabled){background:color-mix(in srgb,var(--color-text-primary) 8%,transparent);color:var(--color-text-primary);opacity:1;transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--color-text-primary) 12%,transparent)}.message-action-button:hover:not(:disabled):before{opacity:.1}.message-action-button:active:not(:disabled){transform:translateY(0);transition:transform .1s ease}.message-action-button:disabled{opacity:.4;cursor:not-allowed;transform:none;background:color-mix(in srgb,var(--color-text-primary) 2%,transparent)}.message-action-button .MuiSvgIcon-root{font-size:16px;transition:all .2s ease}.message-action-button:hover:not(:disabled) .MuiSvgIcon-root{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.message-action-button.active{background:color-mix(in srgb,var(--accent-color) 15%,transparent);color:var(--accent-color);opacity:1;box-shadow:0 1px 3px color-mix(in srgb,var(--accent-color) 20%,transparent)}.message-action-button.active:before{opacity:0}.message-action-button[aria-label*=Thumbs]{min-width:32px;width:32px;border-radius:50%;padding:0}.message-action-button[aria-label*=Regenerate]:after{content:"Regenerate";margin-left:2px}.message-action-button[aria-label*=image]:after{content:"Image";margin-left:2px}.message-action-button[aria-label*=voice]:after{content:"Voice";margin-left:2px}@media (max-width: 768px){.message-actions{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;justify-content:flex-start}.message-action-button{min-width:40px;height:40px;min-height:44px;font-size:12px}.message-action-button .MuiSvgIcon-root{font-size:18px}.message-action-button[aria-label*=Thumbs]{min-width:44px;width:44px;height:44px;border-radius:50%;padding:0}.message-action-button:not([aria-label*=Thumbs]){min-width:40px;height:40px;padding:0 var(--spacing-xs);border-radius:var(--border-radius-md)}}@media (max-width: 480px){.message-actions{gap:6px}.message-action-button[aria-label*=Regenerate]:after,.message-action-button[aria-label*=image]:after,.message-action-button[aria-label*=voice]:after{display:none}.message-action-button:not([aria-label*=Thumbs]){min-width:44px;width:44px;height:44px;padding:0;border-radius:var(--border-radius-md)}.message-action-button .MuiSvgIcon-root{font-size:20px}}@media (max-width: 768px){.message-action-button:hover:not(:disabled){transform:none;transition:background .2s ease,color .2s ease}.message-action-button:active:not(:disabled){transform:scale(.95);transition:transform .1s ease}.message-footer{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.message-time{order:2}.message-actions{order:1;width:100%;justify-content:flex-start}}.message-action-button[aria-label*=Regenerate]:hover:not(:disabled){background:color-mix(in srgb,#4CAF50 8%,var(--color-text-primary) 4%);color:#4caf50}.message-action-button[aria-label*=image]:hover:not(:disabled){background:color-mix(in srgb,#2196F3 8%,var(--color-text-primary) 4%);color:#2196f3}.message-action-button[aria-label*=voice]:hover:not(:disabled){background:color-mix(in srgb,#FF9800 8%,var(--color-text-primary) 4%);color:#ff9800}.cost-popover{position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%) translateY(5px);background:var(--color-glass-background-primary);color:var(--color-text-primary);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);width:340px;z-index:1000;opacity:0;visibility:hidden;transition:all var(--transition-normal);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 0 0 1px #ffffff26,0 10px 30px #00000080,0 15px 45px #0006;border:1px solid color-mix(in srgb,var(--color-background-primary) 50%,transparent);margin-left:16px}.cost-popover.visible{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.cost-popover-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.cost-popover-title{margin:0 0 6px;font-size:var(--font-size-xl);background:var(--label-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;letter-spacing:-.01em;line-height:1.2}.cost-popover-description{margin:0;color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:1.5;letter-spacing:.01em;opacity:.9}.cost-popover-price-row{display:flex;align-items:center;margin-top:var(--spacing-sm);padding:0;border-radius:var(--border-radius-md);margin-bottom:-16px}.cost-popover-price-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 8%,transparent);border-radius:50%;flex-shrink:0;margin-right:var(--spacing-sm)}.cost-popover-price-icon .MuiSvgIcon-root{font-size:20px;color:var(--accent-color, var(--color-text-primary))}.cost-popover-price-details{flex:1}.cost-popover-price-value{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin-bottom:2px;display:flex;align-items:center}.cost-popover-price-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);opacity:.85}.cost-popover-footer{border-top:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);margin-top:var(--spacing-md);padding-top:var(--spacing-md);display:flex;align-items:center;justify-content:space-between}.cost-popover-checkbox{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-md);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);transition:all var(--transition-fast);min-height:44px;position:relative}.cost-popover-checkbox .checkbox-container{width:18px;height:18px;border-radius:4px;border:2px solid color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 50%,transparent);position:relative;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);background-color:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 5%,transparent)}.cost-popover-checkbox .MuiSvgIcon-root{font-size:14px;color:var(--accent-color, var(--color-text-primary));transition:all var(--transition-fast);position:absolute}.cost-popover-checkbox:hover .checkbox-container{transform:scale(1.05);border-color:var(--accent-color, var(--color-text-primary));background-color:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 10%,transparent)}.cost-popover-checkbox span{position:relative;z-index:1;font-size:var(--font-size-sm)}.cost-popover-button{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius-md);background:var(--button-fill-gradient);color:var(--color-text-inverse);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:44px;min-width:120px;box-shadow:0 2px 6px #0003;position:relative;overflow:hidden}.cost-popover-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(255,255,255,.2),transparent);opacity:0;transition:opacity var(--transition-fast)}.cost-popover-button:hover:not(:disabled):before{opacity:1}.cost-popover-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #ff5ca14d}.cost-popover-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #ff5ca133}.cost-popover-button:disabled{opacity:.5;cursor:not-allowed;filter:saturate(.7)}@media (max-width: 768px){.cost-popover{width:300px;padding:var(--spacing-md)}.cost-popover-title{font-size:var(--font-size-lg)}.cost-popover-description{font-size:var(--font-size-sm)}.cost-popover-price-row{padding:0;margin-top:var(--spacing-xs)}.cost-popover-price-icon{width:28px;height:28px}.cost-popover-price-icon .MuiSvgIcon-root{font-size:16px}.cost-popover-price-value{font-size:var(--font-size-sm);font-weight:600}.cost-popover-price-label{font-size:calc(var(--font-size-sm) * .9)}.cost-popover-checkbox{font-size:var(--font-size-sm);min-height:40px}.cost-popover-button{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}}.audio-container{margin:var(--spacing-sm) 0;background-color:transparent;border-radius:var(--border-radius-md);overflow:hidden;width:100%;max-width:400px}.audio-controls{display:flex;align-items:center;gap:var(--spacing-sm);padding:0;width:100%}.audio-action-button{width:36px;height:36px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:.85;flex-shrink:0;position:relative;-webkit-tap-highlight-color:transparent}.audio-action-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid currentColor;opacity:0;transition:all var(--transition-fast)}.audio-action-button:hover:not(:disabled),.audio-action-button:focus-visible:not(:disabled){opacity:1;transform:scale(1.1)}.audio-action-button:hover:not(:disabled):after,.audio-action-button:focus-visible:not(:disabled):after{opacity:.2;transform:scale(.95)}.audio-action-button:active:not(:disabled){opacity:1;transform:scale(.95);background-color:color-mix(in srgb,currentColor 10%,transparent)}.audio-action-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.audio-action-button .MuiSvgIcon-root{font-size:20px}.user-message .audio-action-button{color:var(--color-text-inverse)}.audio-waveform{flex:1;height:36px;border-radius:var(--border-radius-sm);position:relative;overflow:hidden;cursor:pointer;transition:opacity .3s ease;-webkit-tap-highlight-color:transparent}.audio-waveform wave{overflow:hidden!important}.audio-waveform div{overflow:hidden!important}.audio-waveform:not(.ready){opacity:.5}.audio-time{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;min-width:70px;text-align:right;opacity:.85;font-weight:400;flex-shrink:0}@media (max-width: 768px){.audio-container{margin:var(--spacing-xs) 0}.audio-controls{padding:0;gap:var(--spacing-xs)}.audio-action-button{width:32px;height:32px;padding:6px;opacity:.9}.audio-action-button .MuiSvgIcon-root{font-size:18px}.audio-waveform{height:32px}.audio-time{min-width:65px;font-size:calc(var(--font-size-xs) * .95);opacity:.9}@media (hover: none){.audio-action-button:hover:not(:disabled){transform:none}.audio-action-button:hover:not(:disabled):after{opacity:0}.audio-action-button:active:not(:disabled){transform:scale(.95);background-color:color-mix(in srgb,currentColor 15%,transparent)}}}.messages-container{flex:1;overflow-y:auto;padding:0 var(--spacing-md);margin-bottom:var(--spacing-md);position:relative;padding-bottom:calc(var(--spacing-md) + 64px);height:100%;min-height:0;-webkit-overflow-scrolling:touch}.messages-list{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-bottom:var(--spacing-lg);padding-top:calc(48px + var(--spacing-md))}.load-more-container{display:flex;justify-content:center;padding:var(--spacing-xs) 0;margin-bottom:var(--spacing-sm)}.load-more-button{background-color:var(--color-background-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.load-more-button:hover{background-color:color-mix(in srgb,var(--color-background-secondary) 80%,var(--color-text-primary))}.load-more-button:disabled{opacity:.5;cursor:not-allowed}.typing-container{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);border-radius:var(--border-radius-lg);max-width:fit-content}.typing-dots{display:flex;gap:4px;padding:0 var(--spacing-xs)}.typing-dot{width:8px;height:8px;background-color:var(--color-text-secondary);border-radius:50%;opacity:.6;animation:typingAnimation 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingAnimation{0%,to{transform:translateY(0);opacity:.6}50%{transform:translateY(-4px);opacity:1}}@media (max-width: 768px){.messages-container{height:calc(100% - 64px);padding-bottom:calc(var(--spacing-md) + 64px);overflow-y:auto}.messages-list{gap:var(--spacing-xxs);padding-top:calc(72px + var(--spacing-sm));width:100%;box-sizing:border-box}}@supports (-webkit-touch-callout: none){.messages-container{overscroll-behavior:none;-webkit-overflow-scrolling:touch}}.suggestions-safe-area{position:absolute;bottom:100%;left:0;right:0;height:60px;z-index:1;display:flex;align-items:center;padding:0 var(--spacing-md);pointer-events:auto;transition:all var(--transition-fast);margin-bottom:4px;max-width:800px;margin-left:auto;margin-right:auto;width:100%}.suggestions-safe-area>:first-child{min-width:0;flex:1;opacity:0;transform:translateY(10px) scale(.95);transition:opacity var(--transition-fast),transform var(--transition-fast),flex var(--transition-fast)}.suggestions-safe-area>:first-child:not(:empty){opacity:1;transform:translateY(0) scale(1)}.suggestions-safe-area>.scroll-button{order:2;margin-left:var(--spacing-sm);flex:none}.scroll-button{position:static;flex:none;width:44px;height:44px;border-radius:22px;background:color-mix(in srgb,var(--color-glass-background-primary) 80%,var(--accent-color, var(--color-primary)) 20%);border:1px solid color-mix(in srgb,var(--accent-color, var(--color-primary)) 30%,transparent);color:var(--accent-color, var(--color-text-primary));cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);padding:10px;box-shadow:0 4px 12px #00000026,inset 0 1px #ffffff1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);will-change:transform,opacity,background-color,border-color;animation:scrollButtonEnter .3s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.scroll-button.visible{animation:scrollButtonEnter .2s ease-out}@keyframes scrollButtonEnter{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (hover: hover){.scroll-button:hover{opacity:1;background-color:color-mix(in srgb,var(--accent-color, var(--color-primary)) 30%,var(--color-glass-background-secondary));transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #0003,0 0 20px color-mix(in srgb,var(--accent-color, var(--color-primary)) 20%,transparent);border-color:color-mix(in srgb,var(--accent-color, var(--color-primary)) 40%,transparent)}}.scroll-button:active{transform:translateY(0) scale(1);box-shadow:0 2px 6px #00000026}@media (hover: none) and (pointer: coarse){.scroll-button:active{background-color:var(--color-glass-background-secondary);border-color:#fff3}}.scroll-button .MuiSvgIcon-root{font-size:24px;transition:transform var(--transition-fast);filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.suggestion-button{flex:none;width:auto;min-width:44px;height:44px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color, var(--color-primary)) 15%,var(--color-glass-background-primary)),var(--color-glass-background-primary));border:1px solid color-mix(in srgb,var(--accent-color, var(--color-primary)) 25%,transparent);padding:10px 20px;cursor:pointer;color:var(--accent-color, var(--color-text-primary));opacity:1;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;border-radius:22px;box-shadow:0 4px 12px #00000026,inset 0 1px #ffffff1a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);will-change:transform,opacity,background-color,border-color;white-space:nowrap;transform-origin:center;font-weight:600;font-size:var(--font-size-md);letter-spacing:.02em;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover: hover){.suggestion-button:hover{opacity:1;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color, var(--color-primary)) 25%,var(--color-glass-background-secondary)),var(--color-glass-background-secondary));transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #0003,0 0 20px color-mix(in srgb,var(--accent-color, var(--color-primary)) 15%,transparent);border-color:color-mix(in srgb,var(--accent-color, var(--color-primary)) 35%,transparent)}}.suggestion-button:active{transform:translateY(0) scale(1);box-shadow:0 2px 6px #00000026}@media (hover: none) and (pointer: coarse){.suggestion-button:active{background-color:var(--color-glass-background-secondary);border-color:#fff3}}.suggestion-button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color, var(--color-primary)) 20%,var(--color-glass-background-secondary)),var(--color-glass-background-secondary));opacity:1;box-shadow:0 4px 12px #00000026,0 0 0 1px color-mix(in srgb,var(--accent-color, var(--color-primary)) 30%,transparent),0 0 15px color-mix(in srgb,var(--accent-color, var(--color-primary)) 10%,transparent)}.suggestion-container{animation:suggestionEnter .4s cubic-bezier(.34,1.56,.64,1);transform-origin:center;position:relative}.suggestion-container.exiting{animation:suggestionExit .2s cubic-bezier(.4,0,.2,1) forwards}@keyframes suggestionEnter{0%{transform:scale(.9) translateY(10px);opacity:0;filter:blur(4px)}50%{transform:scale(1.02) translateY(-2px);filter:blur(0)}to{transform:scale(1) translateY(0);opacity:1;filter:blur(0)}}@keyframes suggestionExit{0%{transform:scale(1) translateY(0);opacity:1;filter:blur(0)}to{transform:scale(.9) translateY(10px);opacity:0;filter:blur(4px)}}.suggestion-nav-button{flex:none;width:36px;height:36px;background:color-mix(in srgb,var(--accent-color, var(--color-primary)) 10%,rgba(255,255,255,.05));border:1px solid color-mix(in srgb,var(--accent-color, var(--color-primary)) 20%,rgba(255,255,255,.08));padding:8px;color:var(--accent-color, var(--color-text-primary));opacity:.9;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;border-radius:18px;box-shadow:0 2px 6px #0000001a,inset 0 1px #ffffff0d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}@media (hover: hover){.suggestion-nav-button:not(:disabled):hover{opacity:1!important;background-color:color-mix(in srgb,var(--accent-color, var(--color-primary)) 20%,rgba(255,255,255,.1));transform:scale(1.1);border-color:color-mix(in srgb,var(--accent-color, var(--color-primary)) 30%,rgba(255,255,255,.15));box-shadow:0 3px 8px #00000026,0 0 12px color-mix(in srgb,var(--accent-color, var(--color-primary)) 15%,transparent)}}.suggestion-nav-button:not(:disabled):active{transform:scale(.95);opacity:.9}@media (hover: none) and (pointer: coarse){.suggestion-nav-button:not(:disabled):active{background-color:#ffffff1a;border-color:#ffffff26}}.suggestion-nav-button:disabled{cursor:not-allowed}@media (max-width: 768px){.suggestions-safe-area{padding:0 var(--spacing-sm);height:56px;margin-bottom:2px}.suggestions-safe-area>.scroll-button{margin-left:var(--spacing-xs)}.scroll-button,.suggestion-button{width:40px;height:40px;border-radius:20px}.suggestion-button{padding:8px 16px;font-size:var(--font-size-sm)}.suggestion-nav-button{width:32px;height:32px;border-radius:16px}.scroll-button .MuiSvgIcon-root{font-size:20px}}.chronicle-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);z-index:9000;animation:fadeIn .3s ease}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-glass-background-primary);border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 24px #0003;max-width:400px;width:90%;text-align:center;animation:slideUp .5s ease forwards}.MuiCircularProgress-root{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 rgba(var(--color-accent-primary-rgb),.3)}70%{transform:scale(1);box-shadow:0 0 0 15px rgba(var(--color-accent-primary-rgb),0)}to{transform:scale(.95);box-shadow:0 0 rgba(var(--color-accent-primary-rgb),0)}}.chat-settings{padding:var(--spacing-md);min-width:320px;background-color:transparent;overflow-x:hidden;width:100%;box-sizing:border-box;display:flex;flex-direction:column}.settings-section{margin-bottom:var(--spacing-md);width:100%;box-sizing:border-box}.settings-section:last-child{margin-bottom:0}.settings-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-weight:500}.image-generation-container{position:relative;touch-action:pan-x;-webkit-user-select:none;user-select:none}.image-generation-group{width:100%;background-color:color-mix(in srgb,var(--color-background-primary) 30%,transparent);padding:2px;border-radius:var(--border-radius-lg)!important;position:relative;gap:0!important;display:flex}.slider-background{position:absolute;top:2px;left:2px;height:calc(100% - 4px);width:calc(33.33% - 4px);background:var(--button-fill-gradient, linear-gradient(91deg, #FF5CA1 .48%, #6055FF 104.25%));border-radius:calc(var(--border-radius-lg) - 2px);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none;box-shadow:0 2px 8px #ff5ca14d}.slider-background[data-index="1"]{transform:translate(calc(100% + 4px))}.slider-background[data-index="2"]{transform:translate(calc(200% + 8px))}.image-generation-group .MuiToggleButton-root{flex:1;border:none!important;border-radius:0!important;color:var(--color-text-primary);padding:var(--spacing-xs)!important;text-transform:none;font-size:var(--font-size-sm);height:36px;background-color:transparent!important;position:relative;transition:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}.image-generation-group .MuiToggleButton-root:after{display:none!important}.image-generation-group .MuiTouchRipple-root{display:none!important}.image-generation-group .MuiToggleButton-root:first-of-type{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important}.image-generation-group .MuiToggleButton-root:last-of-type{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}.image-generation-group .MuiToggleButton-root.Mui-selected{color:#fff!important;background-color:transparent!important;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.8);z-index:2;position:relative}.image-generation-group .MuiToggleButton-root.Mui-selected span{color:#fff!important}.image-generation-group .MuiToggleButton-root.Mui-selected svg{color:#fff!important}.image-generation-group .MuiToggleButton-root:hover,.image-generation-group .MuiToggleButton-root:active{background-color:transparent!important}.image-generation-group .MuiToggleButton-root span{margin-left:var(--spacing-xs)}.switch-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-xs);border-radius:var(--border-radius-md);transition:background-color var(--transition-fast);min-height:40px}.switch-row:hover{background-color:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 3%,transparent)}.switch-label{font-size:var(--font-size-md);color:var(--color-text-primary);font-weight:500}.settings-switch.MuiSwitch-root{width:42px;height:26px;padding:0;margin:0}.settings-switch .MuiSwitch-switchBase{padding:0;margin:2px;transition-duration:.3s}.settings-switch .MuiSwitch-switchBase.Mui-checked{transform:translate(16px);color:#fff}.settings-switch .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:var(--accent-color, var(--color-primary));opacity:1}.settings-switch .MuiSwitch-thumb{box-sizing:border-box;width:22px;height:22px;box-shadow:0 2px 4px #0003}.settings-switch .MuiSwitch-track{border-radius:13px;background-color:color-mix(in srgb,var(--color-background-primary) 30%,transparent);opacity:1}.font-size-slider{display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-xs)}.font-size-icon{color:var(--color-text-secondary)}.font-size-icon.small{font-size:16px}.font-size-icon.large{font-size:24px}.settings-slider{color:var(--accent-color, var(--color-primary))!important}.settings-slider .MuiSlider-rail{background-color:color-mix(in srgb,var(--color-background-primary) 30%,transparent);opacity:1}.settings-slider .MuiSlider-track{border:none}.settings-slider .MuiSlider-thumb{width:16px;height:16px;background-color:var(--accent-color, var(--color-primary));box-shadow:none}.settings-slider .MuiSlider-thumb:hover,.settings-slider .MuiSlider-thumb.Mui-focusVisible{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent-color, var(--color-primary)) 16%,transparent)}.settings-slider .MuiSlider-thumb.Mui-active{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent-color, var(--color-primary)) 24%,transparent)}.settings-slider .MuiSlider-valueLabel{background-color:color-mix(in srgb,var(--color-background-primary) 85%,transparent);color:var(--color-text-primary);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.delete-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid color-mix(in srgb,var(--color-background-primary) 50%,transparent)}.delete-confirmation{display:flex;flex-direction:column;gap:var(--spacing-md)}.delete-message{text-align:center;color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:500}.delete-message-details{text-align:center;color:var(--color-text-primary);font-size:var(--font-size-sm);opacity:.8;line-height:1.5;margin-bottom:var(--spacing-sm)}.delete-confirmation .error-message{padding:var(--spacing-md);background:linear-gradient(180deg,color-mix(in srgb,var(--color-status-error) 8%,transparent),color-mix(in srgb,var(--color-status-error) 4%,transparent));border:1px solid color-mix(in srgb,var(--color-status-error) 15%,transparent);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:1.5;text-align:center;box-shadow:0 2px 8px color-mix(in srgb,var(--color-status-error) 10%,transparent)}.delete-confirmation .button-group{display:flex;gap:var(--spacing-sm)}.delete-button{text-transform:none;font-weight:500;height:44px;background-color:color-mix(in srgb,var(--color-status-error) 10%,transparent)!important;border-color:color-mix(in srgb,var(--color-status-error) 30%,transparent)!important;color:var(--color-status-error)!important;transition:all var(--transition-normal)!important}.delete-button:hover{background-color:color-mix(in srgb,var(--color-status-error) 15%,transparent)!important;border-color:color-mix(in srgb,var(--color-status-error) 40%,transparent)!important;transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-status-error) 20%,transparent)}.delete-button .MuiSvgIcon-root{font-size:20px;transition:transform var(--transition-normal)}.delete-button:hover .MuiSvgIcon-root{transform:rotate(8deg)}.cancel-button{flex:1;text-transform:none;font-weight:500;height:44px;background-color:var(--color-background-primary)!important;border-color:#ffffff1f!important;color:var(--color-text-primary)!important;transition:all var(--transition-normal)!important}.cancel-button:hover{background-color:color-mix(in srgb,var(--color-text-primary) 5%,var(--color-background-primary))!important;border-color:#fff3!important;transform:translateY(-1px)}.confirm-delete-button{flex:1;text-transform:none;font-weight:500;height:44px;background-color:var(--color-status-error)!important;border:none!important;color:var(--color-text-inverse)!important;transition:all var(--transition-normal)!important;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.confirm-delete-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition-slow)}.confirm-delete-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-status-error) 30%,transparent)}.confirm-delete-button:not(:disabled):hover:before{left:100%}.confirm-delete-button:disabled{background-color:color-mix(in srgb,var(--color-status-error) 70%,var(--color-background-primary))!important;color:#ffffffb3!important;cursor:not-allowed;transform:none;box-shadow:none}.countdown-wrapper{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-left:var(--spacing-xs);opacity:0;transform:scale(.8);animation:appear .3s var(--transition-normal) forwards}.countdown-number{position:absolute;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-inverse);z-index:1;font-variant-numeric:tabular-nums}.countdown-circle{position:absolute;width:100%;height:100%}.countdown-circle circle{fill:none;stroke:#fff3;stroke-width:2.5;opacity:0;transform:rotate(-90deg);transform-origin:50% 50%;animation:circle-appear .3s var(--transition-normal) forwards}.countdown-circle circle.progress{stroke:var(--color-text-inverse);stroke-linecap:round;transition:stroke-dashoffset 1s linear}@keyframes appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes circle-appear{0%{opacity:0;transform:rotate(-90deg) scale(.8)}to{opacity:1;transform:rotate(-90deg) scale(1)}}@media (max-width: 768px){.delete-button,.cancel-button,.confirm-delete-button{height:40px;font-size:var(--font-size-sm)}.delete-button .MuiSvgIcon-root{font-size:18px}}.settings-section .gallery-button{display:none}.action-buttons-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid color-mix(in srgb,var(--color-background-primary) 50%,transparent)}.quick-access-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.action-buttons-section+.settings-section{margin-bottom:0}.quick-access-buttons+.settings-section{margin-top:var(--spacing-sm)}.slider-background[data-index="-1"]{display:none}.quick-access-button{height:48px!important;border-radius:var(--border-radius-lg)!important;background-color:color-mix(in srgb,var(--color-background-primary) 30%,transparent)!important;border:1px solid color-mix(in srgb,var(--accent-color, var(--color-primary)) 15%,transparent)!important;padding:var(--spacing-sm) var(--spacing-md)!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:var(--spacing-sm)!important;color:var(--color-text-primary)!important;transition:all var(--transition-normal)!important;position:relative;overflow:hidden}.quick-access-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,color-mix(in srgb,var(--accent-color, var(--color-primary)) 10%,transparent),transparent);transition:var(--transition-normal)}.quick-access-button:hover{background-color:color-mix(in srgb,var(--accent-color, var(--color-primary)) 5%,var(--color-background-primary))!important;border-color:color-mix(in srgb,var(--accent-color, var(--color-primary)) 30%,transparent)!important;transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--accent-color, var(--color-primary)) 10%,transparent)}.quick-access-button:hover:before{left:100%}.quick-access-button .MuiSvgIcon-root{font-size:20px!important;color:var(--accent-color, var(--color-primary));opacity:.9;transition:all var(--transition-normal)}.quick-access-button:hover .MuiSvgIcon-root{opacity:1;transform:scale(1.1)}.quick-access-button span{font-size:var(--font-size-md);font-weight:500;flex:1;text-align:left}.quick-access-button .arrow-icon{font-size:18px!important;opacity:.5;margin-left:auto}.quick-access-button:hover .arrow-icon{opacity:.8;transform:translate(2px)}.chat-settings button{text-transform:none!important}@media (max-width: 768px){.delete-confirmation .error-message{font-size:var(--font-size-sm);padding:var(--spacing-md)}}.illustration-style-container{position:relative;touch-action:pan-x;-webkit-user-select:none;user-select:none}.illustration-style-group{width:100%;background-color:color-mix(in srgb,var(--color-background-primary) 30%,transparent);padding:2px;border-radius:var(--border-radius-lg)!important;position:relative;gap:0!important;display:flex}.illustration-style-group .slider-background{position:absolute;top:2px;left:2px;height:calc(100% - 4px);width:calc(50% - 2px);background:var(--button-fill-gradient, linear-gradient(91deg, #FF5CA1 .48%, #6055FF 104.25%));border-radius:calc(var(--border-radius-lg) - 2px);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none;box-shadow:0 2px 8px #ff5ca14d}.illustration-style-group .slider-background[data-index="1"]{transform:translate(calc(100% + 2px))}.illustration-style-group .MuiToggleButton-root{flex:1;border:none!important;border-radius:0!important;color:var(--color-text-primary);padding:var(--spacing-xs)!important;text-transform:none;font-size:var(--font-size-sm);height:36px;background-color:transparent!important;position:relative;transition:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}.illustration-style-group .MuiToggleButton-root:after{display:none!important}.illustration-style-group .MuiTouchRipple-root{display:none!important}.illustration-style-group .MuiToggleButton-root:first-of-type{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important}.illustration-style-group .MuiToggleButton-root:last-of-type{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}.illustration-style-group .MuiToggleButton-root.Mui-selected{color:#fff!important;background-color:transparent!important;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.8);z-index:2;position:relative}.illustration-style-group .MuiToggleButton-root.Mui-selected span{color:#fff!important}.illustration-style-group .MuiToggleButton-root.Mui-selected svg{color:#fff!important}.illustration-style-group .MuiToggleButton-root:hover,.illustration-style-group .MuiToggleButton-root:active{background-color:transparent!important}.illustration-style-group .MuiToggleButton-root span{margin-left:var(--spacing-xs)}.chat-settings .slider-toggle-group{width:100%!important;max-width:100%!important;margin:0!important}.settings-section .slider-toggle-group{margin-bottom:0}.chat-settings .content-level-control{padding:0;gap:var(--spacing-sm);align-items:stretch}.chat-settings .content-level-control .slider-toggle-group{margin-bottom:var(--spacing-sm)}.logo-banner{display:flex;max-width:176px;height:44px;padding:0;gap:14px;flex-shrink:0;align-items:center;transition:max-width .3s ease,gap .3s ease,justify-content .3s ease}.logo-image{display:flex;width:44px;height:44px;justify-content:center;align-items:center;flex-shrink:0;transition:transform .3s ease}.desktop-navigation.collapsed .logo-banner{max-width:44px;gap:0;margin-left:0}.logo-text{display:flex;height:44px;justify-content:center;align-items:center;opacity:1;width:auto;transition:opacity .3s ease,width .3s ease,visibility .3s ease}.desktop-navigation.collapsed .logo-text{opacity:0;width:0;visibility:hidden;overflow:hidden}@keyframes colorShimmer{0%,to{filter:hue-rotate(0deg) brightness(1)}25%{filter:hue-rotate(15deg) brightness(1.05)}50%{filter:hue-rotate(30deg) brightness(1.1)}75%{filter:hue-rotate(15deg) brightness(1.05)}}.logo-image img,.logo-text img{animation:colorShimmer 12s cubic-bezier(.4,0,.6,1) infinite}.slider-toggle-group{position:relative;display:inline-flex!important;padding:6px;background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.06);border-radius:16px!important;box-shadow:inset 0 1px #ffffff0d,0 4px 12px #0000001a;overflow:hidden;isolation:isolate;width:fit-content!important;min-width:0;max-width:100%;box-sizing:border-box}.settings-section .slider-toggle-group,.chat-settings .slider-toggle-group,.content-level-control .slider-toggle-group{width:100%!important;display:flex!important}.slider-toggle-group:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(74,47,255,.1) 0%,transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s ease}.slider-toggle-group:hover:before{opacity:1}.slider-background{position:absolute;top:6px;left:6px;height:calc(100% - 12px);background:var(--button-fill-gradient);border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1;box-shadow:0 4px 12px #ff5ca14d,inset 0 1px #fff3}.chat-settings .slider-background,.settings-section .slider-background,.content-level-control .slider-background{background:linear-gradient(91deg,#ff5ca1 .48%,#6055ff 104.25%)!important;opacity:1!important}.slider-background:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;border-radius:inherit;filter:blur(8px);opacity:.5;z-index:-1}.slider-toggle-group .MuiToggleButton-root{flex:1 0 auto;min-width:0;height:44px;padding:8px 24px!important;margin:0!important;border:none!important;border-radius:10px!important;background:transparent!important;color:#ffffffb3;font-size:14px;font-weight:500;font-family:var(--font-family-base);text-transform:none;letter-spacing:.01em;position:relative;z-index:2;transition:all .2s ease;cursor:pointer;box-shadow:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center;gap:8px}.slider-toggle-group .MuiTouchRipple-root{display:none!important}.slider-toggle-group .MuiSvgIcon-root{font-size:18px;transition:all .2s ease}.slider-toggle-group .MuiToggleButton-root span:not(.MuiTouchRipple-root){position:relative;z-index:1;white-space:nowrap}.slider-toggle-group .MuiToggleButton-root:hover:not(.Mui-selected){color:#ffffffd9;background:transparent!important}.slider-toggle-group .MuiToggleButton-root span:not(.MuiTouchRipple-root){position:relative;z-index:2;font-weight:inherit}.slider-toggle-group .MuiToggleButton-root.Mui-selected{color:#fff!important;background:transparent!important;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.8);position:relative;z-index:2}.slider-toggle-group .MuiToggleButton-root.Mui-selected,.slider-toggle-group .MuiToggleButton-root.Mui-selected span,.slider-toggle-group .MuiToggleButton-root.Mui-selected *{color:#fff!important;opacity:1!important}.slider-toggle-group .MuiToggleButton-root.Mui-selected .MuiSvgIcon-root{filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));color:#fff!important}.slider-toggle-group .MuiToggleButton-root:active{transform:scale(.98)}.slider-toggle-group .MuiToggleButton-root:focus{outline:none}.slider-toggle-group .MuiToggleButton-root:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.slider-toggle-group .MuiToggleButton-root:disabled{opacity:.5;cursor:not-allowed}.slider-toggle-group.MuiToggleButtonGroup-root{width:fit-content;max-width:100%;min-width:fit-content;gap:0!important}@media (max-width: 768px){.slider-toggle-group{padding:5px;border-radius:12px!important;margin:0 16px}.slider-background{top:5px;left:5px;height:calc(100% - 10px);border-radius:8px}.slider-toggle-group .MuiToggleButton-root{min-width:0;height:38px;padding:6px 20px!important;font-size:13px;border-radius:8px!important}.slider-toggle-group .MuiSvgIcon-root{font-size:16px}}@media (max-width: 480px){.slider-toggle-group{margin:0 12px;padding:4px}.slider-background{top:4px;left:4px;height:calc(100% - 8px)}.slider-toggle-group .MuiToggleButton-root{min-width:0;height:34px;padding:4px 16px!important;font-size:12px}}.chat-settings .slider-toggle-group .MuiToggleButton-root.Mui-selected,.settings-section .slider-toggle-group .MuiToggleButton-root.Mui-selected,.content-level-control .slider-toggle-group .MuiToggleButton-root.Mui-selected{color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.9),0 1px 2px rgba(0,0,0,.8)!important}.slider-toggle-group .Mui-selected span,.slider-toggle-group .Mui-selected svg{color:#fff!important;fill:#fff!important}.settings-wrapper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-index-modal);display:flex;justify-content:flex-end}.settings-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeIn var(--transition-fast) forwards;-webkit-user-select:none;user-select:none}.settings-overlay.exiting{animation:fadeOut var(--transition-fast) forwards}.settings-screen{position:relative;width:400px;height:100%;background:var(--color-glass-background-gradient);box-shadow:var(--shadow-md);overflow-y:auto;transition:transform var(--transition-fast);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-left:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);scrollbar-width:thin}.settings-header{position:sticky;top:0;display:flex;align-items:center;padding:max(var(--spacing-lg),var(--safe-area-inset-top)) var(--spacing-xl) var(--spacing-md);background:var(--color-glass-background-mix);border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:1}.settings-header h1{margin:0 0 0 var(--spacing-md);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);letter-spacing:-.25px}.back-button{width:var(--avatar-size-md);height:var(--avatar-size-md);display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-primary);cursor:pointer;border-radius:var(--border-radius-round);transition:all var(--transition-fast);margin-left:max(0px,var(--safe-area-inset-left))}.back-button:hover{background:var(--color-selected);transform:translate(-2px);box-shadow:var(--shadow-sm)}.settings-content{padding:var(--spacing-screen-padding);display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.settings-section h2{margin:0 0 6px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);padding-left:var(--spacing-xs);text-transform:uppercase;letter-spacing:.75px;display:flex;align-items:center}.settings-section h2:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--color-text-secondary) 20%,transparent);margin-left:var(--spacing-xs)}.settings-tile-wrapper{position:relative;margin-bottom:2px;min-height:56px}.settings-tile-wrapper.expanded{margin-bottom:var(--spacing-md)}.settings-tile{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);border-radius:var(--border-radius-md);transition:all var(--transition-fast);width:100%}.settings-tile.clickable{cursor:pointer}.settings-tile.clickable:hover{background:color-mix(in srgb,var(--color-glass-background-primary) 95%,var(--color-text-primary));border-color:color-mix(in srgb,var(--color-text-primary) 20%,transparent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.settings-tile.disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.settings-tile-icon{display:flex;align-items:center;justify-content:center;width:var(--avatar-size-sm);height:var(--avatar-size-sm);background:var(--color-selected);border-radius:var(--border-radius-sm);margin-right:var(--spacing-md);color:var(--color-text-primary);transition:all var(--transition-normal);position:relative}.settings-tile.clickable:hover .settings-tile-icon{transform:scale(1.05);background:color-mix(in srgb,var(--color-selected) 150%,transparent)}.settings-tile-content{flex:1;line-height:1.3}.settings-tile-title{font-size:var(--font-size-sm);font-weight:600;margin-bottom:4px;color:var(--color-text-primary)}.settings-tile-subtitle{font-size:var(--font-size-xs);line-height:1.4;color:var(--color-text-secondary);opacity:.9}.settings-tile-trailing{margin-left:var(--spacing-md)}.settings-tile-arrow{color:var(--color-text-secondary);margin-left:var(--spacing-xs);opacity:.7;transition:all var(--transition-fast)}.settings-tile:hover .settings-tile-arrow{opacity:1}.settings-tile:hover .settings-tile-arrow.modal{transform:translate(4px)}.settings-tile-expanded{border:1px solid color-mix(in srgb,var(--color-text-primary) 8%,transparent);border-top:none;margin-top:-1px;border-radius:0 0 var(--border-radius-md) var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.settings-tile-wrapper.expanded .settings-tile{border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;border-bottom-color:transparent}.switch{position:relative;display:inline-block;width:36px;height:20px;-webkit-user-select:none;user-select:none}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;top:0;right:0;bottom:0;left:0;background-color:color-mix(in srgb,var(--color-text-secondary) 40%,transparent);transition:var(--transition-normal);border-radius:var(--border-radius-round);box-shadow:inset 0 0 4px #00000026;cursor:pointer}.slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:var(--color-text-inverse);transition:var(--transition-normal);border-radius:var(--border-radius-round);box-shadow:var(--shadow-sm)}.switch input:checked+.slider{background:var(--button-fill-gradient);box-shadow:0 0 3px 1px color-mix(in srgb,var(--color-primary) 25%,transparent)}input:checked+.slider:before{transform:translate(16px)}.feedback-textarea,.code-input,.form-input{width:100%;padding:var(--spacing-md);background:var(--color-input-background);border:1px solid color-mix(in srgb,var(--color-text-primary) 20%,transparent);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-md);transition:all var(--transition-fast);line-height:var(--line-height-md)}.feedback-textarea{resize:vertical;min-height:100px}.code-input{height:36px;min-height:unset;resize:none;padding:0 var(--spacing-sm);line-height:36px}.feedback-textarea:focus,.code-input:focus,.form-input:focus{outline:none;background:color-mix(in srgb,var(--color-glass-background-primary) 90%,var(--color-text-primary));border-color:color-mix(in srgb,var(--color-text-primary) 50%,transparent);transform:translateY(-1px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.submit-button{width:100%;height:36px;background:var(--button-fill-gradient);border:1px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-radius:var(--border-radius-md);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.submit-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-md);filter:brightness(1.1)}.submit-button:not(:disabled):active{transform:translateY(0);box-shadow:var(--shadow-sm)}.submit-button:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(1)}.feedback-form,.code-form{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.star-rating{display:flex;justify-content:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.star-button{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-secondary);transition:transform var(--transition-fast);-webkit-user-select:none;user-select:none}.star-button:hover{transform:scale(1.2)}.star-filled{color:var(--color-status-warning)}.star-button svg{width:var(--avatar-size-xs);height:var(--avatar-size-xs)}.content-level-control{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);align-items:center}.content-level-control .slider-toggle-group{width:100%;max-width:320px}.content-level-description{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-sm)}.error-message{color:var(--color-status-error);font-size:var(--font-size-xs);text-align:center;padding:var(--spacing-xs) var(--spacing-sm);background:color-mix(in srgb,var(--color-status-error) 10%,transparent);border-radius:var(--border-radius-sm);border:1px solid color-mix(in srgb,var(--color-status-error) 20%,transparent)}.feedback-input-container{position:relative;width:100%}.character-count{position:absolute;bottom:var(--spacing-xs);right:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-glass-background-mix);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);border-radius:var(--border-radius-md);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:1;padding:var(--spacing-xl)}.loading-overlay.visible{opacity:1;pointer-events:all}.loading-spinner{width:var(--avatar-size-sm);height:var(--avatar-size-sm);border:2px solid transparent;border-top-color:var(--color-primary);border-right-color:var(--color-primary);border-radius:var(--border-radius-round);animation:spin .8s linear infinite}.loading-spinner-label{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;text-align:center;line-height:var(--line-height-md)}.success-icon{color:var(--color-status-success);animation:success-icon-appear .3s ease-out}.auth-section{margin-top:auto;padding:var(--spacing-md);border-top:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.auth-info{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-input-background);border:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.auth-info-row{display:flex;justify-content:space-between;align-items:center}.auth-info-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-info-value{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500}.auth-provider-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-selected);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.logout-section{padding:0 var(--spacing-md) var(--spacing-md)}.logout-button{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);background:color-mix(in srgb,var(--color-status-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-status-error) 20%,transparent);border-radius:var(--border-radius-md);color:var(--color-status-error);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.logout-button:hover{background:color-mix(in srgb,var(--color-status-error) 15%,transparent);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.social-icons-row{display:flex;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;margin:0 var(--spacing-md);border-top:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.social-icon-button{width:var(--avatar-size-md);height:var(--avatar-size-md);display:flex;align-items:center;justify-content:center;background:var(--color-input-background);border:1px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.social-icon-button:hover{background:var(--color-selected);transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-sm)}.social-icon-button svg{width:var(--avatar-size-xs);height:var(--avatar-size-xs)}.notification-indicator{position:absolute;top:-4px;right:-4px;background:var(--color-status-error);color:var(--color-text-inverse);border-radius:var(--border-radius-round);width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;box-shadow:0 0 0 2px var(--color-background-primary);animation:notification-pulse 2s ease-in-out infinite}@keyframes notification-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 2px var(--color-background-primary)}50%{transform:scale(1.1);box-shadow:0 0 0 2px var(--color-background-primary),0 0 8px #ef535099}}.settings-tile.has-notification{background:color-mix(in srgb,var(--color-status-error) 5%,transparent);border-color:color-mix(in srgb,var(--color-status-error) 20%,transparent)}.settings-tile.has-notification:hover{background:color-mix(in srgb,var(--color-status-error) 10%,transparent);border-color:color-mix(in srgb,var(--color-status-error) 30%,transparent)}.profile-alert-text{color:var(--color-status-error);font-weight:600;font-size:var(--font-size-xs);margin-top:4px;animation:alert-fade 3s ease-in-out infinite}@keyframes alert-fade{0%,to{opacity:.8}50%{opacity:1}}.debug-info{margin:var(--spacing-xl) 0;padding:var(--spacing-xs);background:var(--color-input-background);border-radius:var(--border-radius-sm);font-family:var(--font-family-mono);font-size:calc(var(--font-size-xs) * .9);color:var(--color-text-tertiary);border:1px solid color-mix(in srgb,var(--color-text-primary) 8%,transparent);transition:opacity var(--transition-fast)}.debug-info:hover{opacity:.9}.debug-row{display:flex;justify-content:space-between;gap:var(--spacing-sm);padding:calc(var(--spacing-xxs) / 2) 0;font-variant-numeric:tabular-nums}.debug-row span:first-child{color:var(--color-text-secondary);min-width:3.5em}.debug-row span:last-child{text-align:right;word-break:break-all}.settings-embedded{width:100%;height:100%;overflow-y:auto;background:transparent;padding:var(--spacing-screen-padding);box-sizing:border-box}.settings-embedded .settings-content{max-width:800px;margin:0 auto;padding-top:var(--spacing-md);padding-bottom:var(--spacing-xl)}.settings-embedded-header{padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;align-items:center;max-width:800px;margin:0 auto var(--spacing-md)}.settings-embedded-header h1{font-size:var(--font-size-xl);font-weight:600;margin:0}.embedded-back-button{background:none;border:none;color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--border-radius-sm);cursor:pointer;margin-right:var(--spacing-md);transition:background-color var(--transition-fast)}.embedded-back-button:hover{background-color:var(--color-selected)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes success-icon-appear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.settings-screen-enter{animation:slideIn .3s ease-out}.settings-screen-exit{animation:slideOut .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 768px){.settings-screen{width:100%;border-radius:0;border-left:none}.settings-wrapper{align-items:initial}.settings-header{padding:max(var(--spacing-lg),var(--safe-area-inset-top)) var(--spacing-lg) var(--spacing-md)}.settings-header h1{font-size:var(--font-size-lg)}.back-button{width:40px;height:40px}.settings-content{padding:var(--spacing-lg);padding-left:max(var(--spacing-lg),var(--safe-area-inset-left));padding-right:max(var(--spacing-lg),var(--safe-area-inset-right));padding-bottom:max(var(--spacing-lg),var(--safe-area-inset-bottom))}.settings-tile{padding:var(--spacing-md);min-height:64px}.settings-tile-title{font-size:var(--font-size-md)}.settings-tile-subtitle{font-size:var(--font-size-sm)}.form-input,.submit-button{height:var(--avatar-size-md);font-size:var(--font-size-md)}.switch{width:var(--avatar-size-md);height:var(--avatar-size-xs)}.slider:before{height:20px;width:20px}input:checked+.slider:before{transform:translate(var(--avatar-size-xs))}.content-level-button{height:var(--avatar-size-md)}.content-level-button .MuiSvgIcon-root{font-size:var(--avatar-size-xs)}.logout-button{height:var(--avatar-size-md);font-size:var(--font-size-md)}.social-icon-button{width:52px;height:52px}.social-icon-button svg{width:28px;height:28px}.embedded-back-button{width:36px;height:36px}}.settings-screen::-webkit-scrollbar{width:6px}.settings-screen::-webkit-scrollbar-track{background:transparent}.settings-screen::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--color-text-secondary) 25%,transparent);border-radius:var(--border-radius-sm)}.settings-screen::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--color-text-secondary) 40%,transparent)}.settings-tile.clickable:focus-visible,.back-button:focus-visible,.submit-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.switch input:focus-visible+.slider{box-shadow:0 0 0 2px var(--color-primary)}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (forced-colors: active){.settings-tile{border:1px solid CanvasText}.settings-tile.clickable:hover{border:1px solid Highlight}.switch input:checked+.slider{background-color:Highlight}}.character-profile{display:flex;flex-direction:column;width:100%;max-width:1200px;margin:0 auto;overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow-md);position:relative;height:100%;overscroll-behavior:contain;scroll-behavior:smooth;border:1px solid var(--bland-stroke-fill);border-radius:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.character-profile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;animation:fade-backdrop .3s cubic-bezier(.4,0,.2,1)}@keyframes fade-backdrop{0%{opacity:0}to{opacity:1}}@media (min-width: 769px){.character-profile-overlay{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:var(--spacing-xl);align-items:center;justify-content:center}.character-profile-overlay .character-profile{max-width:540px;max-height:90vh;width:100%;height:auto;border-radius:var(--border-radius-lg);background:color-mix(in srgb,var(--color-background) 95%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-border);box-shadow:0 0 0 1px #ffffff1a,0 4px 12px #00000080,0 8px 32px #0006,0 16px 48px #0000004d}}@media (max-width: 768px){.character-profile-overlay{padding:0}.character-profile-overlay .character-profile{height:100vh;max-height:100vh;border-radius:0}}.character-profile-overlay-close{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:color-mix(in srgb,var(--color-background) 60%,transparent);border:1px solid rgba(255,255,255,.1);color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-md);opacity:.9;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-round);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2;box-shadow:0 4px 12px #0000004d,0 0 20px #0003}.character-profile-overlay-close svg{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.character-profile-overlay-close:hover{opacity:1;background:color-mix(in srgb,var(--color-background) 80%,transparent);border-color:#fff3;transform:scale(1.1);box-shadow:0 6px 16px #0006,0 0 10px color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 20%,transparent),0 0 30px color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 10%,transparent)}.character-profile-overlay-close:active{transform:scale(.95);box-shadow:0 2px 8px #0000004d,0 0 15px color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 15%,transparent)}.character-profile.is-overlay{position:relative;z-index:1000;max-height:90vh;width:90%;animation:fade-in .3s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-chat-button-container{width:100%;padding:var(--spacing-md) var(--spacing-lg) 0;display:flex;justify-content:center;background-color:var(--color-background-tertiary);border-top:none;border-bottom:none;position:relative;z-index:1;box-shadow:0 -8px 16px -8px #0003,0 8px 16px -8px #0003;background:linear-gradient(to bottom,transparent 0%,var(--color-background-tertiary) 10%,var(--color-background-tertiary) 90%,transparent 100%)}.foil-button.profile-chat-button{width:100%;max-width:400px;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10;position:relative;overflow:hidden}.foil-button.profile-chat-button:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.foil-button.profile-chat-button:active{transform:translateY(1px);box-shadow:0 4px 16px #0003}.character-profile .close-button{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:10}.image-carousel{position:relative;aspect-ratio:7/9;width:100%;max-height:70vh;background-color:var(--color-background-tertiary)}.carousel-track{position:absolute;display:flex;transition:transform .3s ease-out;height:100%;left:0;top:0;width:100%}.carousel-slide{position:relative;width:100%;flex-shrink:0;height:100%;display:flex;align-items:center;justify-content:center}.carousel-image{max-width:100%;max-height:100%;object-fit:contain;object-position:center}.carousel-nav-button{position:absolute;top:50%;transform:translateY(-50%);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 8%,transparent),color-mix(in srgb,var(--color-primary) 4%,transparent));border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-text-primary);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all var(--transition-fast)}.carousel-nav-button:hover{background:color-mix(in srgb,var(--color-primary) 15%,transparent);transform:translateY(-50%) scale(1.1)}.carousel-nav-button.prev{left:var(--spacing-md)}.carousel-nav-button.next{right:var(--spacing-md)}.image-indicators{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:2}.indicator{width:10px;height:10px;border-radius:50%;background-color:color-mix(in srgb,var(--color-text-primary) 50%,transparent);border:none;padding:0;cursor:pointer;transition:all var(--transition-fast)}.indicator:hover{background-color:color-mix(in srgb,var(--color-text-primary) 70%,transparent)}.indicator.active{background-color:var(--color-primary);transform:scale(1.2)}.character-info{padding:0 var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.character-header{display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:none;position:relative}.character-header:after{content:"";position:absolute;bottom:0;left:10%;right:10%;height:20px;background:radial-gradient(ellipse at center,rgba(0,0,0,.1) 0%,transparent 80%);opacity:.7;pointer-events:none}.name-container{display:flex;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-md)}.name-container h1{margin:0;font-size:var(--font-size-xxl);font-weight:700;color:var(--color-text-primary)}.gender-symbol{font-size:var(--font-size-lg);width:30px;height:30px;display:flex;align-items:center;justify-content:center}.gender-symbol.male{color:#3498db}.gender-symbol.female{color:#e84393}.gender-symbol.nonbinary,.gender-symbol.other{color:var(--color-primary)}.age{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.tags-container{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.info-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:var(--spacing-md)}.info-section h2{font-size:var(--font-size-lg);margin:0;padding-bottom:var(--spacing-sm);border-bottom:none;position:relative;display:inline-block;color:var(--color-text-primary)}.info-section h2:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(to right,var(--color-primary) 0%,var(--color-primary) 70%,transparent 100%);border-radius:4px}.info-section p{margin:0;line-height:1.6;color:var(--color-text-secondary)}.traits-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--spacing-sm)}.trait{padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(45deg,#4a2fff40,#ff2c5b40);border:1px solid rgba(255,255,255,.15);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:default;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-weight:500;min-width:80px;text-align:center}.notes-list{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.notes-list li{background-color:var(--color-background-tertiary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);border-left:none;position:relative;transition:all var(--transition-fast);overflow:hidden}.notes-list li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,var(--color-primary) 0%,color-mix(in srgb,var(--color-primary) 70%,transparent) 100%);border-radius:4px}.notes-list li:hover{transform:translate(5px);box-shadow:var(--shadow-sm)}@media (max-width: 768px){.character-profile{border-radius:0;max-width:100%;width:100%;height:100vh;position:fixed;top:0;left:0;right:0;bottom:0}.character-profile.is-overlay{width:100%;height:100%;max-height:100vh;border-radius:0}.carousel-slide{width:100%}.character-info{padding:var(--spacing-md)}.name-container h1{font-size:var(--font-size-xl)}.gender-symbol{font-size:var(--font-size-md);width:24px;height:24px}.carousel-nav-button{width:32px;height:32px}.info-section h2{font-size:var(--font-size-md)}.profile-chat-button-container{padding:var(--spacing-sm) var(--spacing-md) 0}}.empty-profile-state{display:flex;flex-direction:column;height:100%;padding:0;text-align:center;position:relative;overflow:hidden}.empty-state-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;z-index:2;position:relative;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;width:100%}.empty-state-wrapper::-webkit-scrollbar{width:6px}.empty-state-wrapper::-webkit-scrollbar-track{background:#0000001a}.empty-state-wrapper::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.empty-state-wrapper::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.empty-state-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;width:100%;padding:var(--spacing-xl);box-sizing:border-box}.empty-state-background-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:900px;height:900px;background:radial-gradient(circle at center,rgba(74,47,255,.15) 0%,rgba(255,44,91,.08) 20%,rgba(var(--color-primary-rgb),.04) 40%,transparent 70%);filter:blur(100px);pointer-events:none;z-index:0;animation:glowPulse 12s ease-in-out infinite}.empty-state-background-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(120,80,255,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,80,120,.05) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(80,200,255,.05) 0%,transparent 50%);pointer-events:none;z-index:1}@keyframes glowPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}.empty-state-header{margin-bottom:var(--spacing-xl);z-index:2;position:relative;max-width:600px}.empty-state-logo-container{width:72px;height:72px;margin:0 auto var(--spacing-md);opacity:.95;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.empty-state-logo-container:hover{transform:scale(1.05) rotate(5deg);opacity:1}.empty-state-logo-container img{width:100%;height:100%;object-fit:contain;filter:brightness(1.1) drop-shadow(0 8px 24px rgba(74,47,255,.3))}.empty-state-title{font-size:calc(var(--font-size-xxl) * 1.2);font-weight:800;margin:0 0 var(--spacing-sm) 0;color:var(--color-text-primary);letter-spacing:-.03em;line-height:1.1;text-shadow:0 4px 16px rgba(0,0,0,.2)}.empty-state-tagline{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0;opacity:.9;font-weight:400;letter-spacing:.02em}.empty-state-content{z-index:2;position:relative;width:100%;max-width:600px;display:flex;flex-direction:column;gap:var(--spacing-xl);margin:0 auto;flex-shrink:0;container-type:inline-size}@container (max-width: 500px){.empty-state-stats{gap:var(--spacing-md);padding:var(--spacing-md)}.stat-value{font-size:var(--font-size-lg)}}@container (max-width: 400px){.empty-state-stats{gap:var(--spacing-sm);padding:var(--spacing-sm)}.stat-value{font-size:var(--font-size-md)}.stat-label{font-size:9px}.stat-divider{height:30px}}@container (max-width: 350px){.empty-state-stats{gap:8px;padding:8px 4px}.stat-value{font-size:calc(var(--font-size-sm) * .9)}.stat-label{font-size:7px}.stat-divider{height:20px}}.empty-state-quote{padding:var(--spacing-lg);background:linear-gradient(135deg,#ffffff08,#ffffff03);border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden}.empty-state-quote:before{content:'"';position:absolute;top:-10px;left:10px;font-size:60px;color:var(--color-primary);opacity:.2;font-weight:900}.empty-state-quote p{margin:0;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-secondary);font-style:italic;opacity:.9}.empty-state-features{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.feature-card.compact{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--border-radius-md);transition:all .3s cubic-bezier(.25,.46,.45,.94);text-align:left}.feature-card.compact:hover{background:#ffffff0a;border-color:#ffffff14;transform:translateY(-2px)}.feature-icon{font-size:28px!important;flex-shrink:0;position:relative;background:linear-gradient(135deg,#4a2fff,#ff2c5b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 12px rgba(74,47,255,.4)) drop-shadow(0 2px 6px rgba(255,44,91,.3));transition:all .3s cubic-bezier(.25,.46,.45,.94)}.feature-card.compact:hover .feature-icon{transform:scale(1.1);filter:drop-shadow(0 6px 16px rgba(74,47,255,.5)) drop-shadow(0 3px 8px rgba(255,44,91,.4))}.feature-card.compact:nth-child(1) .feature-icon{background:linear-gradient(135deg,#6055ff,#968fff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 12px rgba(96,85,255,.4)) drop-shadow(0 2px 6px rgba(150,143,255,.3))}.feature-card.compact:nth-child(2) .feature-icon{background:linear-gradient(135deg,#ff5ca1,#ff2c5b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 12px rgba(255,92,161,.4)) drop-shadow(0 2px 6px rgba(255,44,91,.3))}.feature-card.compact:nth-child(3) .feature-icon{background:linear-gradient(135deg,#4a2fff,#6055ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 12px rgba(74,47,255,.4)) drop-shadow(0 2px 6px rgba(96,85,255,.3))}.feature-content h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary)}.feature-content p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);opacity:.8;line-height:1.4}.empty-state-stats{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xl);padding:var(--spacing-lg);background:linear-gradient(135deg,#4a2fff14,#ff2c5b14);border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;box-sizing:border-box;flex-wrap:nowrap;overflow:hidden;position:relative}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);flex:1 1 0;min-width:0}.stat-value{font-size:calc(var(--font-size-xl) * 1.2);font-weight:800;color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-text-primary) 0%,rgba(255,255,255,.7) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;line-height:1;white-space:nowrap}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;opacity:.7;white-space:nowrap}.stat-divider{width:1px;height:40px;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);flex:0 0 auto}.empty-state-cta{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;opacity:.7;z-index:2;position:relative;margin-top:var(--spacing-xl);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.empty-state-cta:hover{opacity:1;transform:translate(-6px)}.arrow-indicator{font-size:var(--font-size-lg);animation:arrowPulse 2.5s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.cta-text{letter-spacing:.02em}@keyframes arrowPulse{0%,to{transform:translate(0)}50%{transform:translate(-6px)}}@media (min-width: 769px) and (max-height: 800px){.empty-state-inner{padding:var(--spacing-md);justify-content:flex-start}.empty-state-header{margin-bottom:var(--spacing-md)}.empty-state-logo-container{width:48px;height:48px;margin-bottom:var(--spacing-sm)}.empty-state-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs)}.empty-state-tagline{font-size:var(--font-size-xs);margin-bottom:var(--spacing-md)}.empty-state-content{gap:var(--spacing-md)}.empty-state-quote{padding:var(--spacing-sm);margin:0}.empty-state-features{gap:var(--spacing-sm)}.feature-card{padding:var(--spacing-sm)}.feature-card.compact{display:none}.empty-state-stats{margin-top:var(--spacing-sm);gap:var(--spacing-sm);padding:var(--spacing-sm)}.stat-value{font-size:var(--font-size-md)}.stat-divider{height:24px}}@media (min-width: 769px) and (max-width: 1200px){.empty-state-inner{padding:var(--spacing-lg)}.empty-state-header{margin-bottom:var(--spacing-lg)}.empty-state-title{font-size:var(--font-size-xxl)}.empty-state-tagline{font-size:var(--font-size-sm)}.empty-state-content{gap:var(--spacing-lg)}.empty-state-features{grid-template-columns:1fr;gap:var(--spacing-md)}.feature-card{padding:var(--spacing-md)}.feature-card h3{font-size:var(--font-size-md)}.feature-card p{font-size:var(--font-size-sm)}}@media (max-width: 768px){.empty-state-inner{padding:var(--spacing-md)}.empty-state-logo-container{width:56px;height:56px}.empty-state-title{font-size:var(--font-size-xl)}.empty-state-content{gap:var(--spacing-lg)}.empty-state-stats{gap:var(--spacing-md);padding:var(--spacing-md)}.stat-value{font-size:var(--font-size-lg)}}@media (max-height: 600px){.empty-state-header{margin-bottom:var(--spacing-md)}.empty-state-content{gap:var(--spacing-md)}.empty-state-logo-container{width:48px;height:48px;margin-bottom:var(--spacing-sm)}.empty-state-quote{padding:var(--spacing-md)}.empty-state-stats{gap:var(--spacing-xs);padding:var(--spacing-xs)}.stat-value{font-size:calc(var(--font-size-sm) * .9)}.stat-label{font-size:7px}}@media (max-width: 600px){.empty-state-stats{gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-sm)}.stat-value{font-size:calc(var(--font-size-md) * 1.2)}.stat-divider{height:30px}}@media (max-width: 400px){.empty-state-stats{gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-xs)}.stat-value{font-size:var(--font-size-sm)}.stat-label{font-size:8px;letter-spacing:0}.stat-divider{height:24px}}@media (max-width: 350px){.empty-state-stats{gap:8px;padding:8px 4px}.stat-value{font-size:calc(var(--font-size-sm) * .9)}.stat-label{font-size:7px}.stat-divider{height:20px}}.empty-state-header{animation:fadeInDown .8s cubic-bezier(.25,.46,.45,.94)}.empty-state-quote{animation:fadeIn .8s cubic-bezier(.25,.46,.45,.94);animation-delay:.2s;animation-fill-mode:both}.empty-state-features{animation:fadeInUp .8s cubic-bezier(.25,.46,.45,.94);animation-delay:.3s;animation-fill-mode:both}.empty-state-stats{animation:fadeInUp .8s cubic-bezier(.25,.46,.45,.94);animation-delay:.4s;animation-fill-mode:both}.empty-state-cta{animation:fadeInLeft .8s cubic-bezier(.25,.46,.45,.94);animation-delay:.5s;animation-fill-mode:both}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:.7;transform:translate(0)}}.character-card-wrapper{position:relative;width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-sm)}.character-card-wrapper.grid-view{transition:transform .3s cubic-bezier(.4,0,.2,1);border-radius:19px;border:1.4px solid #2A2B32}.character-card-wrapper.grid-view.selected{transform:translateY(-4px);border:none;padding:1px;background:var(--stroke-fill);border-radius:19px}.character-card-wrapper.grid-view.selected .character-card-desktop{box-shadow:0 8px 32px #0000004d;position:relative;border:none;width:100%;height:100%;margin:0;border-radius:19px}.character-card-wrapper.grid-view.selected .character-card-desktop:before{display:none}.character-card-wrapper.grid-view.selected .character-card-desktop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.1;pointer-events:none;mix-blend-mode:screen}.character-card-desktop{position:relative;width:100%;height:100%;aspect-ratio:7/9;border-radius:19px;border:1.4px solid #2A2B32;overflow:hidden;cursor:pointer;background:var(--color-glass-background-primary);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);box-shadow:0 4px 24px #0003;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:0}.character-card-desktop.horizontal{aspect-ratio:16/9}.character-card-desktop:hover{box-shadow:0 8px 32px #0000004d;border-color:#fff3}.card-media{position:relative;width:100%;height:100%;overflow:hidden}.loading-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--color-glass-background-primary) 0%,var(--color-glass-background-secondary) 50%,var(--color-glass-background-primary) 100%);background-size:200% 100%;animation:shimmer 2s infinite}.card-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:0;transition:opacity .3s ease}.card-image.transitioning-out{opacity:0;transition:opacity .6s ease-out}.card-image.transitioning-in{opacity:0;animation:fadeIn .6s ease-out forwards}.loading-indicator{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:5;animation:fadeIn .3s ease-out}.circular-progress{width:48px;height:48px;animation:rotate 2s linear infinite}.circular-progress svg{width:100%;height:100%}.circular-progress .circle-bg{fill:none;stroke:#ffffff1a;stroke-width:3}.circular-progress .circle{fill:none;stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;animation:progress 1.5s ease-in-out infinite;transform-origin:center}.character-card-desktop .card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0}.foil-button.desktop-only.card-button{width:calc(100% - var(--spacing-lg) * 2);margin:0 var(--spacing-lg) var(--spacing-lg);z-index:10}.character-card-desktop:has(.trial-saturated){cursor:default}.character-card-desktop .character-info{position:absolute;top:var(--spacing-md);right:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs);z-index:2}.character-card-desktop.horizontal{min-height:180px}.character-card-desktop.horizontal .card-content{padding:var(--spacing-md)}.character-card-desktop.horizontal .character-info{display:none}.character-card-desktop.horizontal .card-overlay{background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.1) 30%,rgba(0,0,0,.4) 70%,rgba(0,0,0,.8) 100%)}.character-card-desktop.horizontal:not(:has(.trial-saturated)):hover .card-overlay{background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.2) 30%,rgba(0,0,0,.6) 70%,rgba(0,0,0,.9) 100%)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-shimmer{position:absolute;width:100%;height:100%;background:linear-gradient(90deg,var(--color-background-secondary) 0%,rgba(255,255,255,.1) 50%,var(--color-background-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite linear}.character-card-wrapper{display:flex;flex-direction:column;gap:16px;width:100%;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.card-media{position:absolute;width:100%;height:100%;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}.card-image{position:absolute;width:100%;height:100%;background-size:cover;background-position:center;transition:transform .5s cubic-bezier(.4,0,.2,1);-webkit-user-drag:none;opacity:0}.card-image.loaded{opacity:1}.card-content{position:absolute;height:100%;bottom:0;left:0;right:0;padding:var(--spacing-sm);transform:translateY(0);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;justify-content:flex-end;gap:var(--spacing-sm)}.card-content.trial-saturated{pointer-events:none}.trial-saturated-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:auto}.trial-saturated-content{text-align:center;max-width:300px}.trial-saturated-message{color:var(--color-text-primary);font-size:var(--font-size-md);line-height:var(--line-height-md);margin-bottom:24px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.card-details{display:flex;flex-direction:column;gap:var(--spacing-xs)}.character-card-wrapper.grid-view.selected .card-content{padding-bottom:calc(var(--spacing-lg) + 24px + var(--spacing-lg))}.trial-saturated-content .foil-button .button-icon{width:20px;height:20px}.character-info{margin-bottom:auto}.name-age-container{display:flex;align-items:center;gap:var(--spacing-xs)}.name{font-size:19.348px;font-style:normal;font-weight:500;line-height:110%;transition:all .3s ease;align-self:stretch;color:var(--color-text-primary)}.gender-symbol{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;opacity:.9}.gender-symbol svg{width:100%;height:100%}.gender-symbol.female{color:var(--color-secondary)}.gender-symbol.male{color:var(--color-primary)}.gender-symbol.other{color:var(--color-primary);opacity:.7}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.description{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.6em;margin:0 0 16px;color:#fff;font-size:13.543px;font-style:normal;font-weight:300;line-height:110%;letter-spacing:.677px;max-height:100%}.stats-bar{margin-left:16px;margin-top:16px;position:absolute;top:0;left:0;display:flex;gap:16px}.stats-item{display:flex;align-items:center;gap:8px}.stats-icon{font-size:20px;color:#fff}.stats-text{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.warning{color:var(--color-error);margin:0 0 16px;text-align:center;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.character-card-wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.character-card-mobile.character-card-mobile{position:relative;width:100%;aspect-ratio:7/10;border-radius:19px;border:1.4px solid #2A2B32;overflow:hidden;box-shadow:0 4px 20px #00000026;cursor:pointer;background-color:var(--color-background-secondary);transition:transform .3s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.character-card-mobile.is-expanded{transform:scale(1.02)}.character-card-mobile.is-expanded .card-image{transform:scale(1.1)}.character-card-mobile .card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:1;background:linear-gradient(to bottom,#0000,#0000004d 70%,#000c);transition:background .3s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:0}.character-card-mobile.is-expanded .card-overlay{background:linear-gradient(to bottom,#0003,#000000b3 70%,#000000f2)}.character-card-mobile .card-content{padding:16px}.character-card-mobile.character-card-mobile.top-of-carousel .card-content{padding-bottom:calc(var(--spacing-lg) + 16px + var(--spacing-lg))}.character-card-mobile .expandable-content{max-height:0;opacity:0;overflow:hidden;transform:translateY(-20px);transition:all .5s cubic-bezier(.4,0,.2,1)}.character-card-mobile.is-expanded .expandable-content{max-height:none;opacity:1;transform:translateY(0);margin-top:16px}.character-card-mobile .name-age-container{display:flex;align-items:center;margin-bottom:12px;flex-wrap:nowrap;gap:8px}.character-card-mobile .name{font-size:var(--font-size-xl);text-shadow:2px 2px 4px rgba(0,0,0,.7);margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-card-mobile .key-trait-container{position:relative;display:flex;align-items:center;justify-content:center;margin:0;flex-shrink:0}.character-card-mobile .key-trait{font-size:var(--font-size-xs);font-weight:500;color:#ffffffe6;margin:0;padding:2px 8px;border-radius:4px;background:linear-gradient(135deg,#3c3c5099,#1e1e28cc);border-left:2px solid var(--color-accent);box-shadow:0 2px 4px #0003;text-shadow:1px 1px 1px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.character-card-mobile .key-trait:before{content:"";position:absolute;top:50%;left:0;width:3px;height:3px;background-color:var(--color-accent);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 4px var(--color-accent)}.character-card-mobile .gender-symbol{font-size:var(--font-size-xl);text-shadow:1px 1px 3px rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center}.character-card-mobile:active{transform:scale(.98)}.character-card-mobile.is-expanded:active{transform:scale(1)}.character-card-mobile.top-of-carousel:active{transform:scale(1.02)}.character-card-mobile .card-content,.character-card-mobile .name,.character-card-mobile .age,.character-card-mobile .description,.character-card-mobile .key-trait,.character-card-mobile .tag-text,.character-card-mobile .stats-text{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.character-card-mobile .foil-button{padding:14px;font-size:var(--font-size-md);border-radius:12px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.character-card-mobile .foil-button.card-button{width:calc(100% - var(--spacing-lg) * 2);margin:0 var(--spacing-lg) var(--spacing-lg);z-index:10;box-shadow:0 4px 12px #0003}.character-card-mobile .card-media{position:relative;width:100%;height:100%;overflow:hidden}.character-card-mobile .card-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center;opacity:0;transition:opacity .3s ease}.character-card-mobile .card-image.loaded{opacity:1}.character-card-mobile .card-image.transitioning-out{opacity:0;transition:opacity .6s ease-out}.character-card-mobile .card-image.transitioning-in{opacity:0;animation:fadeIn .6s ease-out forwards}.character-card-mobile .loading-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,var(--color-glass-background-primary) 0%,var(--color-glass-background-secondary) 50%,var(--color-glass-background-primary) 100%);background-size:200% 100%;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.character-card-mobile .loading-indicator{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:5;animation:fadeIn .3s ease-out}.character-card-mobile .circular-progress{width:40px;height:40px;animation:rotate 2s linear infinite}.character-card-mobile .circular-progress svg{width:100%;height:100%}.character-card-mobile .circular-progress .circle-bg{fill:none;stroke:#ffffff1a;stroke-width:3}.character-card-mobile .circular-progress .circle{fill:none;stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;animation:progress 1.5s ease-in-out infinite;transform-origin:center}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress{0%{stroke-dasharray:0 100}50%{stroke-dasharray:75 100}to{stroke-dasharray:75 100}}.welcome-section{width:100%;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,#0000001a,#0000000d);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);position:relative;z-index:1}.welcome-content{max-width:1200px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:var(--spacing-md)}.welcome-header{margin-bottom:var(--spacing-sm)}.welcome-title{font-size:var(--font-size-xxxl);font-weight:800;line-height:1.1;margin:0 0 var(--spacing-md) 0;background:linear-gradient(135deg,var(--color-text-primary) 0%,rgba(255,255,255,.85) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 12px rgba(0,0,0,.3);letter-spacing:-.02em}.welcome-tagline{font-size:var(--font-size-lg);line-height:1.5;color:var(--color-text-secondary);max-width:600px;margin:0 auto;opacity:.9}.welcome-features{display:flex;justify-content:center;gap:var(--spacing-lg);margin-top:var(--spacing-md);flex-wrap:wrap}.feature-highlight{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-lg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all var(--transition-fast);cursor:default}.feature-highlight:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003;border-color:#fff3}.feature-icon{font-size:24px;filter:grayscale(.3);transition:filter var(--transition-fast)}.feature-highlight:hover .feature-icon{filter:grayscale(0)}.feature-highlight span{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);white-space:nowrap}.welcome-section.mobile{padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);text-align:center;margin:0 var(--spacing-sm) var(--spacing-md) var(--spacing-sm);border-radius:var(--border-radius-md);box-shadow:0 4px 16px #0000001a;flex-shrink:0}@media (min-width: 481px) and (max-width: 768px){.welcome-section.mobile .welcome-title{font-size:var(--font-size-xxxl);font-weight:900}.welcome-section.mobile .welcome-tagline{font-size:var(--font-size-xl);max-width:500px;margin:0 auto}.welcome-section.mobile{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg) var(--spacing-xl);margin:0 var(--spacing-md)}.welcome-section.mobile .welcome-header{margin-bottom:var(--spacing-xxl)}}.welcome-section.mobile .welcome-title{font-size:calc(var(--font-size-xxxl) * 1.1);margin-bottom:var(--spacing-md);font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.3);letter-spacing:-.03em;line-height:1.2}.welcome-section.mobile .welcome-tagline{font-size:var(--font-size-md);line-height:1.4;margin:0 auto;max-width:320px;opacity:.9}.welcome-section.mobile .welcome-header{margin-bottom:var(--spacing-lg)}.welcome-section.desktop{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-md) var(--spacing-xl)}.welcome-section.desktop .welcome-title{font-size:var(--font-size-xxl);margin-bottom:var(--spacing-sm)}.welcome-section.desktop .welcome-tagline{font-size:var(--font-size-md);margin-bottom:0}.welcome-section.desktop .welcome-header{margin-bottom:0}.welcome-section.desktop .welcome-features{display:none}.feature-highlight{opacity:0;transform:translateY(20px);animation:fadeInUp .6s cubic-bezier(.25,.46,.45,.94) forwards}.feature-highlight:nth-child(1){animation-delay:.2s}.feature-highlight:nth-child(2){animation-delay:.3s}.feature-highlight:nth-child(3){animation-delay:.4s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.welcome-features{gap:var(--spacing-sm);justify-content:center}.feature-highlight{padding:var(--spacing-xs) var(--spacing-sm);min-width:auto}.feature-highlight span{font-size:var(--font-size-xs)}.feature-icon{font-size:20px}}@media (max-width: 480px){.welcome-section.mobile .welcome-title{font-size:var(--font-size-xxl);line-height:1.2;font-weight:900;margin-bottom:var(--spacing-md)}.welcome-section.mobile .welcome-tagline{font-size:var(--font-size-md);line-height:1.3;max-width:280px}.welcome-section.mobile{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md) var(--spacing-md);margin:0 var(--spacing-xs) var(--spacing-sm) var(--spacing-xs)}.welcome-section.mobile .welcome-header{margin-bottom:var(--spacing-md)}}@media (max-width: 360px){.welcome-section.mobile .welcome-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);font-weight:900;line-height:1.2}.welcome-section.mobile .welcome-tagline{font-size:var(--font-size-sm);max-width:240px;line-height:1.3}.welcome-section.mobile{margin:0 var(--spacing-xs) var(--spacing-xs) var(--spacing-xs);padding:var(--spacing-md) var(--spacing-sm) var(--spacing-sm) var(--spacing-sm)}.welcome-section.mobile .welcome-header{margin-bottom:var(--spacing-sm)}}@media (max-height: 700px) and (max-width: 768px){.welcome-section.mobile{padding:var(--spacing-md) var(--spacing-md) var(--spacing-sm) var(--spacing-md);margin:0 var(--spacing-xs) var(--spacing-xs) var(--spacing-xs)}.welcome-section.mobile .welcome-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs);line-height:1.2}.welcome-section.mobile .welcome-tagline{display:none}.welcome-section.mobile .welcome-header{margin-bottom:var(--spacing-xs)}.welcome-features{display:none}}@media (max-height: 600px) and (max-width: 768px){.welcome-section.mobile{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-xs) var(--spacing-sm);margin:0 var(--spacing-xs) var(--spacing-xs) var(--spacing-xs)}.welcome-section.mobile .welcome-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs);line-height:1.2;font-weight:900}.welcome-section.mobile .welcome-tagline{display:none}.welcome-section.mobile .welcome-header{margin-bottom:var(--spacing-xs)}.welcome-content{gap:var(--spacing-xs)}.welcome-features{display:none}}.animated-word{display:inline-block;min-width:180px;text-align:left;position:relative;color:inherit;transition:all .6s cubic-bezier(.4,0,.2,1)}.animated-word.animating{transform:translateY(-5px);opacity:.7}.animated-word.animating{text-shadow:0 0 20px rgba(255,255,255,.3)}.animated-word{animation:fadeIn .6s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.animated-word{min-width:140px}}@media (max-width: 480px){.animated-word{min-width:120px}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:var(--color-background-primary);color:var(--color-text-primary);position:relative;overflow:hidden}.loading-screen:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-position:center,center,center;z-index:1}.loading-content{position:relative;z-index:2;text-align:center;animation:pulse 4s ease-in-out infinite}.app-title{font-size:3rem;margin-bottom:32px;background:linear-gradient(45deg,var(--color-secondary),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;text-shadow:0 0 20px rgba(255,51,102,.3);height:96px}.loading-spinner-div{margin-bottom:var(--spacing-lg)}.loading-spinner{color:var(--color-primary);filter:drop-shadow(0 0 10px rgba(255,51,102,.5))}.loading-text{font-size:1.1rem;color:var(--color-text-primary);opacity:.9;text-shadow:0 0 10px rgba(65,105,225,.5)}@media (max-width: 768px){.app-title{font-size:2rem}.loading-text{font-size:1rem}}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:var(--color-background-primary);color:var(--color-text-primary);padding:var(--spacing-xl);text-align:center}.error-icon{font-size:64px!important;color:var(--color-status-error);margin-bottom:var(--spacing-md)}.error-message{font-size:1.1rem;margin-bottom:var(--spacing-lg);max-width:400px}.retry-button{background-color:var(--color-primary)!important;color:var(--color-text-inverse)!important}.email-auth-screen{display:flex;justify-content:center;align-items:center;min-height:100%;background-color:var(--color-background-primary);color:var(--color-text-primary);padding:var(--spacing-md)}.email-auth__container{max-width:400px;width:100%;background-color:color-mix(in srgb,var(--color-glass-background-primary) 50%,transparent);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid color-mix(in srgb,var(--color-background-secondary) 50%,transparent);padding:var(--spacing-xl);text-align:center}.email-auth__loading-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.email-auth__loading-spinner{width:40px;height:40px;border:3px solid color-mix(in srgb,var(--color-text-primary) 10%,transparent);border-top:3px solid var(--color-primary);border-radius:var(--border-radius-round);animation:spin 1s linear infinite}.email-auth__loading-text{color:var(--color-text-secondary);font-size:var(--font-size-md)}.email-auth__success-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);animation:fadeIn var(--transition-normal)}.email-auth__success-icon{width:48px;height:48px;background-color:color-mix(in srgb,var(--color-status-success) 10%,transparent);border-radius:var(--border-radius-round);display:flex;align-items:center;justify-content:center;color:var(--color-status-success);font-size:var(--font-size-xxl);animation:scaleIn var(--transition-normal)}.email-auth__success-title{color:var(--color-status-success);font-size:var(--font-size-xl);font-weight:600;margin:0}.email-auth__success-text{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0}.email-auth__error-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.email-auth__error-title{color:var(--color-status-error);font-size:var(--font-size-xl);font-weight:600;margin:0}.email-auth__error-text{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0;text-align:center}.email-auth__action-buttons{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);width:100%}.email-auth__retry-button,.email-auth__back-button{flex:1;padding:var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.email-auth__retry-button{background:var(--color-primary);border:1px solid var(--color-primary);color:var(--color-text-on-primary)}.email-auth__retry-button:hover{background:color-mix(in srgb,var(--color-primary) 85%,white);transform:translateY(-1px)}.email-auth__back-button{background:color-mix(in srgb,var(--color-text-primary) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-text-primary) 20%,transparent);color:var(--color-text-primary)}.email-auth__back-button:hover{background:color-mix(in srgb,var(--color-text-primary) 15%,transparent);transform:translateY(-1px)}.email-auth__retry-button:active,.email-auth__back-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.email-auth__container{padding:var(--spacing-lg)}.email-auth__success-icon{width:56px;height:56px;font-size:var(--font-size-xxxl)}.email-auth__success-title,.email-auth__error-title{font-size:var(--font-size-xxl)}.email-auth__success-text,.email-auth__error-text,.email-auth__loading-text{font-size:var(--font-size-lg)}.email-auth__retry-button,.email-auth__back-button{padding:var(--spacing-lg);font-size:var(--font-size-lg)}.email-auth__action-buttons{flex-direction:column}}.stripe-callback{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);background:var(--color-background-primary);z-index:1000}.stripe-callback .loading-spinner{width:48px;height:48px;border:3px solid transparent;border-top-color:var(--accent-color, var(--color-text-primary));border-right-color:var(--accent-color, var(--color-text-primary));filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 30%,transparent))}.stripe-callback .loading-text{font-size:var(--font-size-lg);color:var(--color-text-primary);text-align:center;max-width:80%;line-height:var(--line-height-lg)}.home-screen-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100%;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.home-screen-container{background:var(--background-gradient)}}@media (min-width: 769px){.home-screen-container{background:var(--background-gradient)}}.content-area{flex:1;width:100%;height:100%;overflow-y:auto;position:relative}.placeholder-content{display:flex;justify-content:center;align-items:center;width:100%;height:100%;color:var(--color-text-primary);font-size:var(--font-size-xl)}.mobile-navigation{display:flex;justify-content:space-around;align-items:center;width:100%;height:72px;background:#0000004d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);position:fixed;bottom:0;left:0;z-index:100;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 20px #0000004d;background-image:linear-gradient(180deg,#ffffff0d,#ffffff05)}.mobile-navigation .nav-item{flex:1;height:56px;max-width:80px;padding:8px 4px 6px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer;border-radius:16px;margin:0 4px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.mobile-navigation .nav-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.mobile-navigation .nav-icon{width:24px;height:24px;display:flex;justify-content:center;align-items:center;position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1)}.mobile-navigation .nav-icon svg{width:22px;height:22px;transition:all .3s ease;color:#ffffffb3}.mobile-navigation .nav-label{font-size:11px;font-weight:600;letter-spacing:.3px;color:#ffffffb3;text-align:center;width:100%;transition:all .3s ease;line-height:1}.mobile-navigation .nav-item.active{background:#ffffff1a;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.mobile-navigation .nav-item.active .nav-icon{transform:scale(1.1)}.mobile-navigation .nav-item.active .nav-icon svg{color:#ff5ca1;filter:drop-shadow(0 0 8px rgba(255,92,161,.4))}.mobile-navigation .nav-item.active .nav-label{color:#ff5ca1;font-weight:700;text-shadow:0 0 8px rgba(255,92,161,.3)}.mobile-navigation .nav-item:active{transform:scale(.95);background:#ffffff0d}.desktop-layout{display:flex;width:100%;height:100%;overflow:hidden}.desktop-layout .content-area{flex:1;transition:margin-left var(--transition-medium, .3s) ease}.desktop-navigation{width:240px;min-width:240px;height:100%;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;padding:0;position:sticky;top:0;overflow-y:auto;overflow-x:clip;z-index:10;transition:width var(--transition-medium, .3s) ease,min-width var(--transition-medium, .3s) ease}.desktop-navigation .nav-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.desktop-navigation .nav-item{display:flex;align-items:center;padding:0;cursor:pointer;transition:background-color var(--transition-fast),justify-content var(--transition-medium, .3s) ease,padding var(--transition-medium, .3s) ease;height:52px;margin:0}.desktop-navigation .nav-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.desktop-navigation .nav-item:hover{background-color:var(--color-selected)}.desktop-navigation .nav-icon{margin-right:var(--spacing-md);display:flex;justify-content:center;align-items:center;transition:margin-right var(--transition-medium, .3s) ease,transform var(--transition-medium, .3s) ease;width:18px;height:18px;position:relative}.desktop-navigation .nav-label{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary);transition:opacity var(--transition-medium, .3s) ease,visibility var(--transition-medium, .3s) ease,max-width var(--transition-medium, .3s) ease,width var(--transition-medium, .3s) ease,margin var(--transition-medium, .3s) ease;max-width:160px;width:auto;overflow:hidden;white-space:nowrap}.desktop-navigation .nav-item.active{background-color:var(--color-selected);position:relative}.desktop-navigation .nav-item.active:before{content:"";position:relative;left:0;top:0;bottom:0;width:3px;background:var(--button-fill-gradient)}.desktop-navigation .nav-item.active .nav-icon svg{color:#ff5ca1}.desktop-navigation .nav-item.active .nav-label{background:var(--button-fill-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-brand{display:flex;width:100%;position:relative;padding:var(--spacing-sm);padding-left:14px;margin-bottom:var(--spacing-md);margin-top:var(--spacing-md);height:48px}.nav-collapse-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-primary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-lg);transition:all var(--transition-medium, .3s) ease;position:fixed;left:240px;top:64px;transform:translate(-50%);z-index:999999;box-shadow:0 4px 12px #0003;overflow:hidden}.nav-collapse-toggle:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:rotate(45deg);opacity:0;transition:opacity .3s ease;pointer-events:none}.nav-collapse-toggle:hover:after{animation:glanceEffect 1s ease-in-out}.desktop-navigation.collapsed .nav-collapse-toggle:after{animation:glanceEffect 1s ease-in-out}@keyframes glanceEffect{0%{opacity:0;transform:rotate(45deg) translate(-100%)}10%{opacity:.8}to{opacity:0;transform:rotate(45deg) translate(100%)}}.nav-collapse-toggle:hover{background:#fff3;box-shadow:0 0 15px #6055ff66}.nav-collapse-toggle svg{font-size:20px;transition:transform var(--transition-medium, .3s) ease}.desktop-navigation.collapsed .nav-collapse-toggle svg{transform:rotate(180deg)}.desktop-navigation.collapsed{width:72px;min-width:72px}.desktop-navigation.collapsed .nav-label{opacity:0;visibility:hidden;max-width:0;width:0;margin:0}.desktop-navigation.collapsed .nav-icon{margin-right:0;transform:translate(0)}.desktop-navigation.collapsed .nav-brand{position:relative}.desktop-navigation.collapsed .nav-collapse-toggle{left:72px}@media (max-width: 768px){.content-area{height:calc(100% - 72px - env(safe-area-inset-bottom,0px));max-height:calc(100% - 72px - env(safe-area-inset-bottom,0px));overflow:hidden;padding-bottom:0}.home-screen-container{padding-bottom:env(safe-area-inset-bottom,0px)}.notification-indicator{top:-4px;right:-4px;width:14px;height:14px;font-size:10px;border-width:1.5px}}@media (min-width: 769px){.desktop-navigation .nav-item{border-radius:var(--border-radius-md);padding:24px}.desktop-navigation .nav-item.active:before{display:none}}@supports (padding: max(0px)){.mobile-navigation{padding-bottom:max(env(safe-area-inset-bottom,0px),0px);height:calc(72px + env(safe-area-inset-bottom,0px))}}.error-message{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:var(--spacing-xl);background:var(--background-gradient);color:var(--color-text-primary);text-align:center}.error-message p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);max-width:600px}.notification-indicator{position:absolute;top:-8px;right:-4px;color:#ff1744;font-size:16px;font-weight:700;line-height:1;text-shadow:0 0 3px rgba(0,0,0,.5);z-index:100;animation:pulse-notification-subtle 2s infinite}@keyframes pulse-notification-subtle{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@media (max-width: 768px){.notification-indicator{top:-8px;right:-12px;font-size:14px}}.desktop-navigation .nav-icon .notification-indicator{top:-4px;right:-4px;font-size:16px}.mobile-navigation .nav-icon .notification-indicator{top:-8px;right:-12px;font-size:14px}.no-character-message{display:flex;align-items:center;justify-content:center;height:100%;width:100%;background-color:var(--color-background);padding:var(--spacing-md);animation:fadeIn .3s ease}.no-character-content{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);background-color:var(--color-glass-background-primary);border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 24px #0003;max-width:400px;width:90%;text-align:center;animation:slideUp .5s ease forwards}.no-character-content h2{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:var(--font-size-xl)}.no-character-content p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:var(--font-size-md);line-height:1.5}.primary-button{display:inline-flex;align-items:center;justify-content:center;background:var(--button-fill-gradient);color:#fff;border:none;border-radius:var(--border-radius-lg);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all .2s ease;height:48px;min-width:160px;box-shadow:var(--shadow-md)}.primary-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.primary-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.disabled-nav-item{opacity:.7;position:relative}.disabled-nav-item:hover{background-color:var(--color-background-hover)}.disabled-nav-item .icon{color:var(--color-text-muted)}.nav-item-info-indicator{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background-color:var(--color-accent-secondary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:1px solid var(--color-background)}@media (max-width: 768px){.mobile-navigation .nav-item-info-indicator{top:5px;right:7px}}.loading-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;color:var(--color-text-primary);font-size:var(--font-size-lg);background:var(--background-gradient);animation:fadeIn .5s ease}body.keyboard-open .mobile-navigation{display:none}body.keyboard-open .content-area{height:100%;max-height:100%;padding-bottom:0}.premium-screen{width:100%;height:100%;overflow-y:auto;background:var(--background-gradient);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.premium-screen.embedded{background:none}.premium-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) 0}.premium-header .premium-icon{font-size:40px;color:var(--accent-color, var(--color-text-primary));margin-bottom:var(--spacing-sm);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 30%,transparent))}.premium-header h1{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin:0}.premium-header .MuiTypography-subtitle1{color:var(--color-text-secondary);font-size:var(--font-size-md)}.premium-content{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%}.premium-benefits{padding:var(--spacing-lg);background:var(--color-glass-background-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:var(--spacing-md);order:1}.benefits-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.benefit-item{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon description";gap:var(--spacing-xs) var(--spacing-md);padding:var(--spacing-md);border-radius:var(--border-radius-md);background:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 3%,transparent);transition:transform var(--transition-fast)}.benefit-item:hover{transform:translate(4px);background:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 5%,transparent)}.benefit-icon{color:var(--accent-color, var(--color-text-primary));font-size:24px!important;grid-area:icon;margin-top:4px}.benefit-title{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:600;margin:0;grid-area:title;line-height:1.2}.benefit-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin:0;grid-area:description}.subscription-section{padding:var(--spacing-lg);background:var(--color-glass-background-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);order:2}.section-title{font-size:var(--font-size-lg)!important;font-weight:600!important;color:var(--color-text-primary)!important;margin-bottom:var(--spacing-md)!important}.sign-in-prompt{text-align:center;padding:var(--spacing-md);background:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 5%,transparent);border:1px solid color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 10%,transparent);border-radius:var(--border-radius-md)}.sign-in-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);margin-top:var(--spacing-sm);background:var(--button-fill-gradient);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-width:120px}.sign-in-button:hover{transform:translateY(-1px);filter:brightness(1.1)}.sign-in-button:active{transform:translateY(0);filter:brightness(.95)}.subscription-details{padding:var(--spacing-md);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 5%,transparent),color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 2%,transparent));border:1px solid color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 10%,transparent);border-radius:var(--border-radius-md)}.subscription-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.subscription-type{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-primary)}.subscription-status{font-size:var(--font-size-sm);color:var(--color-status-success);padding:var(--spacing-xs) var(--spacing-sm);background:color-mix(in srgb,var(--color-status-success) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-status-success) 20%,transparent);border-radius:var(--border-radius-sm)}.subscription-dates{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background:color-mix(in srgb,var(--color-glass-background-primary) 50%,transparent);border-radius:var(--border-radius-sm);border:1px solid color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 10%,transparent);margin-bottom:var(--spacing-md)}.pricing-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.pricing-option{position:relative;display:flex;align-items:center;padding:var(--spacing-lg);background:var(--color-glass-background-primary);border:1px solid color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 10%,transparent);border-radius:var(--border-radius-lg);cursor:pointer}.pricing-option.recommended{border-width:2px;border-color:var(--accent-color, var(--color-text-primary));background:linear-gradient(135deg,color-mix(in srgb,var(--color-glass-background-primary) 95%,transparent),color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 5%,transparent))}.pricing-option:hover{background:color-mix(in srgb,var(--color-glass-background-primary) 80%,var(--accent-color, var(--color-text-primary)));border-color:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 30%,transparent);transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.pricing-option.disabled{cursor:not-allowed;opacity:.7}.pricing-option.disabled .pricing-content{opacity:.5}.pricing-content{flex:1}.pricing-header{display:flex;justify-content:space-between;align-items:center;width:100%}.pricing-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin:0}.price{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary);display:flex;align-items:baseline}.price-period{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-left:var(--spacing-xs)}@media (max-width: 768px){.premium-screen{padding:var(--spacing-md)}.premium-content{grid-template-columns:1fr}.premium-benefits{order:2}.subscription-section{order:1}.benefits-list,.pricing-details{grid-template-columns:1fr}.premium-header{padding:var(--spacing-md) 0}.premium-header .premium-icon{font-size:32px}.premium-header h1{font-size:var(--font-size-lg)}.premium-header .MuiTypography-subtitle1{font-size:var(--font-size-sm)}.benefits-title,.section-title{font-size:var(--font-size-md)!important}.benefit-item{grid-template-columns:24px 1fr}.subscription-section,.premium-benefits{padding:var(--spacing-md)}}.subscription-actions{margin-top:var(--spacing-md)}.cancel-subscription-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:color-mix(in srgb,var(--color-status-error) 10%,transparent);color:var(--color-status-error);border:1px solid color-mix(in srgb,var(--color-status-error) 20%,transparent);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);width:100%}.cancel-subscription-button:hover{background:color-mix(in srgb,var(--color-status-error) 15%,transparent);border-color:color-mix(in srgb,var(--color-status-error) 30%,transparent);transform:translateY(-1px)}.cancel-subscription-button:active{transform:translateY(0)}.cancel-subscription-button svg{font-size:16px}.cancel-confirmation{width:100%;padding:var(--spacing-md);background:color-mix(in srgb,var(--color-status-error) 5%,transparent);border:1px solid color-mix(in srgb,var(--color-status-error) 10%,transparent);border-radius:var(--border-radius-md)}.cancel-message{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:600;text-align:center;margin-bottom:var(--spacing-sm)}.cancel-message-details{color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--spacing-lg);line-height:1.5}.cancel-buttons{display:flex;gap:var(--spacing-sm);justify-content:center;flex-direction:column}.keep-subscription-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--button-fill-gradient);color:var(--color-text-inverse);border:none;border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);width:100%}.keep-subscription-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6055ff4d}.keep-subscription-button:active{transform:translateY(0)}.confirm-cancel-button{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--color-status-error);border:1px solid color-mix(in srgb,var(--color-status-error) 30%,transparent);border-radius:var(--border-radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);width:100%}.confirm-cancel-button:not(:disabled):hover{background:color-mix(in srgb,var(--color-status-error) 10%,transparent);border-color:var(--color-status-error)}.confirm-cancel-button:active{transform:translateY(0)}.confirm-cancel-button:disabled{opacity:.5;cursor:not-allowed}.subscription-loading{display:flex;justify-content:center;align-items:center;padding:var(--spacing-lg)}.loading-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent-color, var(--color-text-primary));border-right-color:var(--accent-color, var(--color-text-primary));border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.countdown-wrapper{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.countdown-number{position:absolute;font-size:var(--font-size-sm);font-weight:500}.countdown-circle{width:100%;height:100%;transform:rotate(-90deg)}.countdown-circle circle{fill:none;stroke-width:2}.countdown-circle circle:first-child{stroke:color-mix(in srgb,var(--color-text-inverse) 20%,transparent)}.countdown-circle circle.progress{stroke:var(--color-text-inverse);transition:stroke-dashoffset .1s linear}.subscription-cta{text-align:center;margin-bottom:var(--spacing-lg)}.subscription-cta .cta-text{font-size:var(--font-size-md);color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-weight:500}.subscription-cta .cta-subtext{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.subscription-date{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0}.subscription-date span:first-child{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.subscription-date span:last-child{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500}.savings-tag{position:absolute;top:-12px;right:-12px;background:var(--button-fill-gradient);color:var(--color-text-inverse);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:600;box-shadow:0 2px 8px #0003;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.sign-in-container{max-width:460px;margin:0 auto;padding:var(--spacing-xl);width:100%;height:100%;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;position:relative}.sign-in-container .MuiButtonBase-root{box-shadow:none;text-transform:none}.sign-in-container .MuiSvgIcon-root{font-size:24px}.sign-in-container .MuiButtonBase-root .MuiSvgIcon-root{font-size:inherit}.sign-in-container .MuiButton-root:not(.sign-in-button):not(.sign-in-back-button){display:none}.sign-in-container .MuiCircularProgress-root{color:inherit}.sign-in-container .MuiOutlinedInput-notchedOutline{border-color:#ffffff1a}.sign-in-container .mui-wrapper.MuiButtonBase-root{box-shadow:none!important;text-transform:none!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;min-width:auto!important}.sign-in-container .mui-wrapper .MuiButton-startIcon,.sign-in-container .mui-wrapper .MuiButton-endIcon{margin:0 8px!important}.sign-in-container .mui-wrapper .MuiTouchRipple-root{color:inherit!important}.sign-in-container .mui-wrapper.sign-in-button.MuiButton-root{padding:0 var(--spacing-lg)!important}.sign-in-container .mui-wrapper.sign-in-back-button.MuiButton-root{padding:0 var(--spacing-md)!important}@media (max-width: 768px){.sign-in-container{padding:var(--spacing-lg) var(--spacing-md);max-width:100%;height:100%;justify-content:flex-start;padding-top:max(var(--spacing-xl),var(--safe-area-inset-top));padding-bottom:max(var(--spacing-xl),var(--safe-area-inset-bottom))}}@media (max-width: 768px) and (max-height: 700px){.sign-in-container{padding-top:max(var(--spacing-lg),var(--safe-area-inset-top));padding-bottom:max(var(--spacing-lg),var(--safe-area-inset-bottom));justify-content:flex-start;gap:var(--spacing-md)}.sign-in-logo-container{margin-bottom:var(--spacing-md)}.sign-in-logo-wrapper .logo-image{width:48px;height:48px}.sign-in-form{padding:var(--spacing-md);gap:var(--spacing-md)}.sign-in-title{font-size:24px}}@supports (padding: max(0px)){.sign-in-container{padding-left:max(var(--spacing-xl),var(--safe-area-inset-left));padding-right:max(var(--spacing-xl),var(--safe-area-inset-right));padding-top:max(var(--spacing-xl),var(--safe-area-inset-top));padding-bottom:max(var(--spacing-xl),var(--safe-area-inset-bottom))}@media (max-width: 768px){.sign-in-container{padding-left:max(var(--spacing-md),var(--safe-area-inset-left));padding-right:max(var(--spacing-md),var(--safe-area-inset-right))}}}.sign-in-form{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%;margin:0 auto;background:var(--color-glass-background-primary);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-md);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;animation:formEntrance .4s ease-out}@keyframes formEntrance{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sign-in-form:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px);border-color:#ffffff26}@media (max-width: 768px){.sign-in-form{padding:var(--spacing-lg)}body.keyboard-open .sign-in-logo-wrapper,body.keyboard-open .sign-in-logo-container{display:none}}.sign-in-logo-container{text-align:center;margin-bottom:var(--spacing-lg);padding-top:var(--spacing-md);animation:logoEntrance .6s ease-out}@keyframes logoEntrance{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.sign-in-logo-wrapper{display:flex;justify-content:center;margin-bottom:var(--spacing-xl);padding-top:0;margin-top:0}.sign-in-logo-wrapper .logo-banner{max-width:none;height:auto;justify-content:center;margin-bottom:0;margin-top:0}.sign-in-logo-wrapper .logo-image{width:64px;height:64px}.sign-in-logo-wrapper .logo-text{height:auto}.sign-in-logo-wrapper .logo-image img,.sign-in-logo-wrapper .logo-text img{height:100%;width:auto}.sign-in-header{text-align:center;margin-bottom:var(--spacing-lg)}.sign-in-title{margin-bottom:var(--spacing-md);font-weight:700;background:var(--button-fill-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent;font-size:28px}.sign-in-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.5}.sign-in-subtitle{color:var(--color-text-secondary);margin-top:var(--spacing-sm);margin-bottom:var(--spacing-md);text-align:center;font-weight:500;line-height:1.5}.sign-in-info{color:var(--color-text-secondary);margin-top:var(--spacing-md);line-height:1.5}.sign-in-container .sign-in-button{height:54px;display:flex;align-items:center;justify-content:center;background:var(--color-glass-background-primary);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:600;letter-spacing:.02em;transition:all var(--transition-fast);padding:0 var(--spacing-lg);text-transform:none;gap:var(--spacing-md);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.sign-in-container .sign-in-button:hover{background:var(--color-glass-background-primary);border-color:#fff3;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.sign-in-container .sign-in-button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.sign-in-container .sign-in-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.sign-in-container .sign-in-back-button{color:var(--color-text-secondary);font-size:var(--font-size-md);text-transform:none;padding:0 var(--spacing-md);height:54px;min-width:54px;font-weight:500;transition:all var(--transition-fast)}.sign-in-container .sign-in-back-button:hover{color:var(--color-text-primary);background:#ffffff0d;transform:translate(-2px)}.sign-in-container .sign-in-actions{margin-top:var(--spacing-md);display:flex;gap:var(--spacing-md)}.sign-in-container .gradient-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:var(--spacing-sm)}.sign-in-container .gradient-icon .MuiSvgIcon-root{width:28px;height:28px}.sign-in-container .gradient-icon .MuiSvgIcon-root path{fill:url(#buttonGradient)}.sign-in-container .sign-in-button .MuiButton-startIcon{display:flex;align-items:center;justify-content:center;margin-left:0}.sign-in-container .MuiButtonBase-root.sign-in-button{min-width:120px;width:100%}.sign-in-container .MuiButtonBase-root.sign-in-back-button{min-width:50px;width:auto}.sign-in-container .sign-in-text-field .MuiOutlinedInput-root{background:#ffffff0d;border-radius:var(--border-radius-md);transition:all var(--transition-fast)}.sign-in-container .sign-in-text-field .MuiOutlinedInput-root fieldset{border-color:#ffffff1a}.sign-in-container .sign-in-text-field .MuiOutlinedInput-root:hover fieldset{border-color:#fff3}.sign-in-container .sign-in-text-field .MuiOutlinedInput-root.Mui-focused fieldset{border-color:var(--color-primary)}.sign-in-container .sign-in-text-field .MuiInputLabel-root{color:var(--color-text-secondary)}.sign-in-container .sign-in-text-field .MuiInputLabel-root.Mui-focused{color:var(--color-primary)}.sign-in-container .sign-in-text-field .MuiInputBase-input{color:var(--color-text-primary);padding:16px;height:1.4em}.sign-in-container .sign-in-text-field .MuiInputBase-input::placeholder{color:var(--color-text-tertiary);opacity:.7}.sign-in-container .sign-in-phone-input-container{display:flex;align-items:center;gap:var(--spacing-sm)}.sign-in-container .sign-in-country-select{position:relative;width:120px;z-index:10}@media (max-width: 768px){.sign-in-container .sign-in-country-select{width:110px}}.sign-in-container .sign-in-country-select .country-display{display:flex;align-items:center;justify-content:space-between;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-md);height:56px;padding:0 var(--spacing-sm);gap:var(--spacing-xs);cursor:pointer;transition:all var(--transition-fast);position:relative}.sign-in-container .sign-in-country-select .country-display:hover{border-color:#fff3;background:#ffffff14}.sign-in-container .sign-in-country-select .country-display:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #4a2fff33}.sign-in-container .sign-in-country-select .country-flag{font-size:24px;line-height:1}.sign-in-container .sign-in-country-select .country-code{color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:500;flex:1;text-align:left;margin-left:var(--spacing-xs)}.sign-in-container .country-dropdown-icon{font-size:20px;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.sign-in-container .country-dropdown-icon.open{transform:rotate(180deg)}.sign-in-container .sign-in-verification-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-md) 0;gap:var(--spacing-sm);animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sign-in-container .sign-in-verification-box .sign-in-title,.sign-in-container .sign-in-verification-box .sign-in-description{margin-bottom:var(--spacing-sm)}.sign-in-container .sign-in-phone-display{margin:var(--spacing-md) 0;padding:var(--spacing-md);background:#ffffff0d;border-radius:var(--border-radius-md);border:1px solid rgba(255,255,255,.1);display:inline-block;min-width:200px;text-align:center}.sign-in-container .sign-in-email-display{margin:var(--spacing-md) 0;padding:var(--spacing-md);background:#ffffff0d;border-radius:var(--border-radius-md);border:1px solid rgba(255,255,255,.1);display:inline-block;color:var(--color-text-primary);font-weight:500;font-size:var(--font-size-md);min-width:200px;text-align:center;word-break:break-all}.sign-in-container .sign-in-code-input .MuiOutlinedInput-root{background:#ffffff0d;border-radius:var(--border-radius-md);transition:all var(--transition-fast);margin-bottom:var(--spacing-md)}.sign-in-container .sign-in-code-input .MuiOutlinedInput-root fieldset{border-color:#ffffff1a;border-width:1px}.sign-in-container .sign-in-code-input .MuiOutlinedInput-root:hover fieldset{border-color:#fff3}.sign-in-container .sign-in-code-input .MuiOutlinedInput-root.Mui-focused fieldset{border-color:var(--color-primary);border-width:2px}.sign-in-container .sign-in-code-input .MuiInputBase-input{color:var(--color-text-primary);padding:16px;height:1.4em;font-size:var(--font-size-lg);font-weight:600;letter-spacing:.1em;text-align:center}.sign-in-container .sign-in-recaptcha{display:flex;justify-content:center;margin:var(--spacing-md) 0;transform:scale(.9);transform-origin:center}.sign-in-container .sign-in-countdown{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:var(--spacing-md) 0;padding:var(--spacing-sm);background:#ffffff0d;border-radius:var(--border-radius-md);display:inline-block;align-self:center}.sign-in-container .sign-in-error-alert{background:#d32f2f26;color:#ff8a8a;border-radius:var(--border-radius-md);border:1px solid rgba(211,47,47,.3);padding:var(--spacing-md);animation:shakeError .5s ease-in-out}@keyframes shakeError{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.sign-in-container .sign-in-error-alert .MuiAlert-icon{color:#ff8a8a}.sign-in-container .sign-in-fade,.sign-in-container .sign-in-error-fade{width:100%}.sign-in-container .sign-in-icon{font-size:24px}.sign-in-container .sign-in-progress{margin-right:var(--spacing-sm);margin-left:var(--spacing-sm)}.sign-in-container .MuiButton-root{border-radius:var(--border-radius-md)}.sign-in-container .MuiButton-root.sign-in-button{min-height:54px;font-weight:600}.sign-in-container .MuiButton-root.sign-in-back-button{min-height:54px}.sign-in-container .MuiButton-endIcon,.sign-in-container .MuiButton-startIcon{margin:0;padding:0 var(--spacing-sm);display:flex;align-items:center}.sign-in-container .sign-in-input.MuiOutlinedInput-root{background:#ffffff0d;border-radius:var(--border-radius-md);height:56px}.sign-in-container .sign-in-input-label.MuiInputLabel-root{color:var(--color-text-secondary)}.sign-in-container .sign-in-input-label.MuiInputLabel-root.Mui-focused{color:var(--color-primary)}.sign-in-container .sign-in-phone-number{font-weight:600;font-size:var(--font-size-lg);color:var(--color-text-primary);letter-spacing:.5px}.sign-in-container .sign-in-verify-form{width:100%}.sign-in-container .sign-in-code-input-root.MuiOutlinedInput-root{background:#ffffff0d;border-radius:var(--border-radius-md);height:56px;margin-bottom:var(--spacing-lg)}.sign-in-container .sign-in-code-input-field{font-size:var(--font-size-lg);font-weight:600;letter-spacing:.2em;text-align:center;color:var(--color-text-primary)}.sign-in-container .sign-in-code-input-label.MuiInputLabel-root{color:var(--color-text-secondary)}.sign-in-container .sign-in-code-input-label.MuiInputLabel-root.Mui-focused{color:var(--color-primary)}.sign-in-container .country-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:280px;max-width:320px;background:var(--color-glass-background-primary);border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-xl);overflow:hidden;animation:dropdownOpen .2s ease-out;z-index:1000}@keyframes dropdownOpen{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sign-in-container .country-search{position:sticky;top:0;display:flex;align-items:center;padding:var(--spacing-sm);background:var(--color-glass-background-primary);border-bottom:1px solid rgba(255,255,255,.1);z-index:1}.sign-in-container .search-icon{position:absolute;left:var(--spacing-md);color:var(--color-text-secondary);font-size:20px;pointer-events:none}.sign-in-container .country-search-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-sm);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) 40px;font-size:var(--font-size-md);color:var(--color-text-primary);outline:none;transition:all var(--transition-fast)}.sign-in-container .country-search-input:focus{border-color:var(--color-primary);background:#ffffff14}.sign-in-container .country-search-input::placeholder{color:var(--color-text-tertiary)}.sign-in-container .country-list{max-height:320px;overflow-y:auto;overflow-x:hidden}.sign-in-container .country-section-label{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.05);position:sticky;top:0;z-index:1}.sign-in-container .country-item{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast);gap:var(--spacing-sm)}.sign-in-container .country-item:hover{background:#ffffff0d}.sign-in-container .country-item.selected{background:#4a2fff1a}.sign-in-container .country-item .country-flag{font-size:20px;width:24px;text-align:center}.sign-in-container .country-item .country-name{flex:1;font-size:var(--font-size-md);color:var(--color-text-primary)}.sign-in-container .country-item .country-calling-code{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.sign-in-container .no-results{padding:var(--spacing-lg);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-md)}.sign-in-container .country-list::-webkit-scrollbar{width:6px}.sign-in-container .country-list::-webkit-scrollbar-track{background:#ffffff0d}.sign-in-container .country-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.sign-in-container .country-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.sign-in-container .country-dropdown{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);min-width:90vw;max-width:90vw;max-height:80vh;border-radius:var(--border-radius-lg)}.sign-in-container .country-list{max-height:calc(80vh - 60px)}.sign-in-container .country-dropdown-icon.open~.country-dropdown{animation:mobileDropdownOpen .3s ease-out}@keyframes mobileDropdownOpen{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}:root{--color-primary: #4A2FFF;--color-secondary: #FF2C5B;--color-background-primary: #0A0B15;--color-background-secondary: #2C2C2E;--color-glass-background-primary: #191a27d2;--color-glass-background-mix: color-mix(in srgb, var(--color-glass-background-primary) 80%, transparent);--color-glass-background-gradient: linear-gradient(to bottom, var(--color-glass-background-mix), var(--color-glass-background-primary));--color-input-background: color-mix(in srgb, var(--color-background-primary) 80%, transparent);--color-text-primary: #FFFFFF;--color-text-secondary: #8E8E93;--color-text-tertiary: #636366;--color-text-inverse: #FFFFFF;--color-status-success: #34C759;--color-status-warning: #FFCC00;--color-status-error: #FF3B30;--color-glow-primary: rgba(0, 122, 255, .8);--color-glow-secondary: rgba(88, 86, 214, .8);--color-theme-anchor-reference: black;--color-selected: #1E1D36;--label-gradient: linear-gradient(90deg, #FF5CA1 0%, #6055FF 100%);--background-gradient: linear-gradient(135deg, #0B0C15 0%, #0B0C15 40%, #2B2939 100%);--background-gradient-reverse: linear-gradient(135deg, #2B2939 0%, #0B0C15 40%, #0B0C15 100%);--stroke-fill: linear-gradient(90deg, #FFAED0 2%, #FF5CA1 26%, #6055FF 74.09%, #968FFF 90.68%);--bland-stroke-fill: #423F5A;--button-fill-gradient: linear-gradient(91deg, #FF5CA1 .48%, #6055FF 104.25%);--spacing-xxs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--spacing-screen-padding: 16px;--spacing-message-bubble-padding: 12px;--font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;--font-family-mono: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--font-size-xxl: 24px;--font-size-xxxl: 32px;--line-height-xs: 13px;--line-height-sm: 16px;--line-height-md: 20px;--line-height-lg: 24px;--line-height-xl: 28px;--line-height-xxl: 32px;--line-height-xxxl: 40px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-xxl: 24px;--border-radius-round: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-index-dropdown: 1000;--z-index-modal: 1100;--z-index-tooltip: 1200;--avatar-size-xs: 24px;--avatar-size-sm: 32px;--avatar-size-md: 48px;--avatar-size-lg: 64px;--avatar-size-xl: 96px;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px)}@media screen and (max-width: 768px){html{overflow-x:hidden;overflow-y:auto}body{min-height:calc(100% + 1px);overflow:hidden}#root{position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto;-webkit-overflow-scrolling:touch}}h1{font-size:var(--font-size-xxxl);line-height:var(--line-height-xxxl);font-weight:700;margin:0}h2{font-size:var(--font-size-xxl);line-height:var(--line-height-xxl);font-weight:600;margin:0}h3{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:600;margin:0}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-primary{background-color:var(--color-background-primary)}.bg-secondary{background-color:var(--color-background-secondary)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-xxl{border-radius:var(--border-radius-xxl)}.rounded-full{border-radius:var(--border-radius-round)}.brand-text{background:linear-gradient(45deg,var(--color-primary),var(--color-secondary),var(--color-primary));background-size:200% 200%;animation:gradient 3s linear infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}html{height:100%;height:-webkit-fill-available;overflow-x:hidden;overflow-y:auto;width:100vw;overscroll-behavior:none;-webkit-overscroll-behavior:none;margin:0;padding:0}body{background-color:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-md);margin:0;padding:0;min-height:100%;min-height:-webkit-fill-available;width:100vw;overflow:hidden;padding:var(--safe-area-inset-top) var(--safe-area-inset-right) var(--safe-area-inset-bottom) var(--safe-area-inset-left);display:flex;flex-direction:column}#root{height:100%;width:100vw;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;position:relative;overscroll-behavior:none;-webkit-overscroll-behavior:none;display:flex;flex-direction:column}.foil-button{display:flex;width:268px;height:39px;padding:12px;justify-content:center;align-items:center;gap:10px;flex-shrink:0;border-radius:12px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary) 40%,var(--color-secondary));border:none;color:#fff;font-size:14px;font-style:normal;font-weight:500;line-height:110%;cursor:pointer;position:relative;z-index:1;overflow:hidden}.foil-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff5ca14d}.foil-button:disabled{background:#555;opacity:.7;cursor:not-allowed;transform:none;box-shadow:none;pointer-events:none}.foil-button:disabled:before,.foil-button:disabled:after{opacity:.5}.savage-button{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-md);background:#ff33661a;border:1px solid rgba(255,51,102,.3);border-radius:var(--border-radius-sm);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;transition:var(--transition-normal);height:32px;margin:0}.savage-button:hover{background:#f363;border-color:#ff336680;transform:translateY(-1px);color:var(--color-text-inverse)}@media (max-width: 768px){.savage-button{padding:calc(var(--spacing-xs) - 1px) var(--spacing-md);font-size:var(--font-size-sm);height:30px}}@media (max-width: 480px){.savage-button{padding:calc(var(--spacing-xs) - 2px) var(--spacing-sm);font-size:var(--font-size-xs);height:28px}}.MuiTextField-root{width:100%}.MuiOutlinedInput-root{height:auto;min-height:56px;background:var(--color-input-background);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-md);transition:all var(--transition-fast)}.MuiOutlinedInput-root:hover{background:color-mix(in srgb,var(--color-glass-background-primary) 95%,var(--color-text-primary))}.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:color-mix(in srgb,var(--color-text-primary) 30%,transparent)}.MuiOutlinedInput-root.Mui-focused{background:color-mix(in srgb,var(--color-glass-background-primary) 90%,var(--color-text-primary));transform:translateY(-1px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text-primary) 10%,transparent)}.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:color-mix(in srgb,var(--color-text-primary) 50%,transparent)!important;border-width:1px!important}.MuiOutlinedInput-notchedOutline{border:1px solid color-mix(in srgb,var(--color-text-primary) 20%,transparent)!important;transition:all var(--transition-fast)}.MuiInputLabel-root{color:var(--color-text-secondary)!important;font-size:var(--font-size-md)!important;font-family:var(--font-family-base)!important;transform:translate(14px,16px) scale(1)!important;transition:all var(--transition-fast)!important}.MuiInputLabel-root.Mui-focused{color:var(--color-text-primary)!important}.MuiInputLabel-root.MuiInputLabel-shrink{color:var(--color-text-secondary)!important;transform:translate(14px,-9px) scale(.75)!important;background:var(--color-glass-background-primary);padding:0 4px}.MuiInputBase-input{padding:16px 14px!important;height:auto!important;font-family:var(--font-family-base)!important;font-size:var(--font-size-md)!important;color:var(--color-text-primary)!important;transition:all var(--transition-fast)!important}.MuiInputBase-input::placeholder{color:var(--color-text-tertiary);opacity:1}@media (max-width: 768px){.MuiOutlinedInput-root{min-height:56px}.MuiInputBase-input,.MuiInputLabel-root{font-size:var(--font-size-lg)!important}}.close-button{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 8%,transparent),color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 4%,transparent));border:1px solid color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 15%,transparent);border-radius:50%;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);z-index:2;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.close-button:hover{background:color-mix(in srgb,var(--accent-color, var(--color-text-primary)) 15%,transparent);transform:scale(1.1)}.close-button:active{transform:scale(.95)}@keyframes gradient{0%{background-position:200% 50%}to{background-position:0% 50%}}.brand-highlight{background:linear-gradient(135deg,#4a2fff,#ff2c5b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 1px rgba(74,47,255,.4))}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden;top:0;left:0;right:0;bottom:0;width:100%;overscroll-behavior:none;touch-action:none;-webkit-overflow-scrolling:none}body{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-md);color:var(--color-text-primary);background-color:var(--color-background-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.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(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@media (max-width: 768px){.container{padding:0 var(--spacing-sm)}}.embedding-parent{position:relative;height:100%;overflow:hidden;overflow-y:hidden;overscroll-behavior:none;contain:layout size;max-height:100%}.embedding-parent .chat-screen.embedded{position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%}
