.app-toast-container{position:fixed;bottom:24px;right:24px;z-index:10001;display:flex;flex-direction:column;gap:12px;pointer-events:none;width:auto;max-width:none}.app-toast-item{background:var(--color-surface-2,#1a1a1a);border-radius:var(--radius-sm,8px);padding:16px 20px;display:flex;align-items:center;gap:12px;min-width:300px;max-width:400px;box-shadow:var(--h-shadow,0 4px 16px rgba(0,0,0,.3));pointer-events:auto;animation:notificationToastSlideIn .6s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--color-border-strong,rgba(255,255,255,.1));border-left:4px solid transparent;position:relative}@keyframes notificationToastSlideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes notificationToastSlideOut{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.app-toast-item.toast-slide-out{animation:notificationToastSlideOut .3s ease}.app-toast-item.toast-success{border-left-color:var(--color-success,#22c55e)}.app-toast-item.toast-error{border-left-color:var(--primary-color,#ff2e63)}.app-toast-item.toast-warning{border-left-color:var(--secondary-color,#f5c542)}.app-toast-item.toast-info{border-left-color:var(--color-secondary,#2f80ed)}.app-toast-icon{font-size:20px;flex-shrink:0}.app-toast-item.toast-success .app-toast-icon{color:var(--color-success,#22c55e)}.app-toast-item.toast-error .app-toast-icon{color:var(--primary-color,#ff2e63)}.app-toast-item.toast-warning .app-toast-icon{color:var(--secondary-color,#f5c542)}.app-toast-item.toast-info .app-toast-icon{color:var(--color-secondary,#2f80ed)}.app-toast-message{flex:1 1;color:var(--foreground,#fff);font-size:14px;line-height:1.5}.app-toast-close{width:24px;height:24px;background:transparent;border:none;color:var(--color-text-muted,#aaa);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs,4px);transition:background .2s ease,color .2s ease;flex-shrink:0;font-size:14px;padding:0}.app-toast-close:hover{background:rgba(255,255,255,.1);color:var(--foreground,#fff)}.app-toast-close:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media screen and (max-width:768px){.app-toast-container{top:max(16px,env(safe-area-inset-top));bottom:auto;right:16px;left:16px}.app-toast-item{min-width:auto;max-width:none;width:100%;animation:notificationToastSlideInMobile .4s cubic-bezier(.34,1.56,.64,1)}.app-toast-item.toast-slide-out{animation:notificationToastSlideOutMobile .3s ease}}@keyframes notificationToastSlideInMobile{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes notificationToastSlideOutMobile{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (prefers-reduced-motion:reduce){.app-toast-item,.app-toast-item.toast-slide-out{animation:none!important}.app-toast-close{transition:none}}.threads-spoiler{display:inline-block;max-width:100%;cursor:pointer;border-radius:var(--radius-xs,4px)}.threads-spoiler:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.threads-spoiler-content{filter:blur(2.7px);transition:filter .3s ease;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){.threads-spoiler-content{transition:none}}.threads-spoiler.show .threads-spoiler-content{filter:blur(0);-webkit-user-select:text;user-select:text}.dots-container{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.dots-container .dot{height:10px;width:10px;margin-right:10px;border-radius:10px;background-color:var(--primary-color);animation:loading-dots-pulse 1.5s ease-in-out infinite}.dots-container .dot:last-child{margin-right:0}.dots-container .dot:first-child{animation-delay:-.3s}.dots-container .dot:nth-child(2){animation-delay:-.15s}.dots-container .dot:nth-child(3){animation-delay:0s}.dots-container .dot:nth-child(4){animation-delay:.15s}.dots-container .dot:nth-child(5){animation-delay:.3s}@keyframes loading-dots-pulse{0%{transform:scale(.8);background-color:var(--primary-color);box-shadow:0 0 0 0 color-mix(in srgb,var(--primary-color) 45%,transparent)}50%{transform:scale(1.2);background-color:var(--primary-color);box-shadow:0 0 0 10px color-mix(in srgb,var(--primary-color) 0%,transparent)}to{transform:scale(.8);background-color:var(--primary-color);box-shadow:0 0 0 0 color-mix(in srgb,var(--primary-color) 45%,transparent)}}.btn-component{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;-webkit-user-select:none;user-select:none;text-decoration:none;transition:all var(--transition-base);pointer-events:auto!important;-webkit-tap-highlight-color:transparent}.btn-component-sm{width:40px;height:40px;font-size:14px}.btn-component-md{height:40px;padding:0 16px;font-size:14px}.btn-component-lg{height:48px;padding:0 20px;font-size:15px}.btn-component-xl{height:56px;padding:0 26px;font-size:16px}.btn-component-primary{background:var(--primary-color)!important;color:var(--color-on-primary)!important}.btn-component-secondary{background:var(--color-secondary)!important;color:var(--color-on-primary)!important}.btn-component-success{background:var(--color-success)!important;color:var(--color-on-primary)!important}.btn-component-danger{background:var(--color-danger)!important;color:var(--color-on-primary)!important}.btn-component-ghost{background:var(--color-surface-elevated)!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border)}.btn-component-pink{background:var(--primary-color)!important;color:var(--color-on-primary)!important;border:1px solid var(--color-border)}.btn-component-link{background:none!important;color:var(--color-secondary)!important;padding:0}.btn-component:hover{opacity:.95!important;transform:translateY(-2px)}.btn-component:active{transform:translateY(0) scale(.98)!important}.btn-component-ghost:hover{background:var(--color-surface-elevated)!important;color:var(--color-text-primary)!important;border:1px solid var(--primary-color)}.btn-component:disabled,.btn-loading{opacity:.6!important;cursor:not-allowed;transform:none!important}.btn-text-component{display:inline-flex;align-items:center;min-width:0}.btn-icon-component{display:inline-flex;align-items:center;width:18px;height:18px}.btn-spinner-component{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:var(--color-on-primary)!important;border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.btn-component-cta-size{height:var(--btn-cta-height)!important;min-height:var(--btn-cta-height)!important;padding:0 var(--btn-cta-padding-x)!important;font-size:var(--btn-cta-font-size)!important}.btn-component-block{width:100%}.btn-component-google{background:#ffffff;color:#202124;border:1px solid rgba(0,0,0,.12)}.btn-component-google:hover{background:#f8f9fa;color:#202124}.btn-component-google .btn-text-component{color:inherit}.btn-component-ghost.active{background:var(--primary-color)!important;color:var(--color-on-primary)!important}@media screen and (max-width:1024px){.btn-component-xl{height:52px;padding:0 24px;font-size:15px}.btn-component-lg{height:44px;padding:0 18px;font-size:14px}}@media screen and (max-width:768px){.btn-component{gap:var(--spacing-2);border-radius:var(--radius-sm)}.btn-component-xl{height:48px;padding:0 20px;font-size:14px}.btn-component-lg{height:42px;padding:0 16px;font-size:14px}.btn-component-md{height:38px;padding:0 14px;font-size:13px}.btn-component-sm{width:36px;height:36px;font-size:13px}.btn-icon-component{width:16px;height:16px}.btn-spinner-component{width:12px;height:12px}}@media screen and (max-width:480px){.btn-component{gap:var(--spacing-1);border-radius:var(--radius-sm)}.btn-component-xl{height:44px;padding:0 16px;font-size:13px}.btn-component-lg{height:40px;padding:0 14px;font-size:13px}.btn-component-md{height:32px;padding:0 var(--spacing-4);font-size:var(--font-xs)}.btn-component-sm{width:32px;height:32px;font-size:12px}.btn-icon-component{width:14px;height:14px}.btn-spinner-component{width:11px;height:11px}.btn-component:hover{transform:translateY(-.5px)}}.spinner-overlay{position:fixed;inset:0;background:#000!important;display:flex!important;align-items:center;justify-content:center;z-index:99999;pointer-events:all;transition:opacity .5s ease-out,visibility .5s ease-out;visibility:visible!important;opacity:1!important}.spinner-fade-container{position:fixed;inset:0;z-index:99999;pointer-events:none;background:#000}.spinner-fade-container .spinner-overlay{pointer-events:all}.spinner-wrapper{display:flex!important;flex-direction:column;align-items:center;gap:12px;z-index:100000}.spinner,.spinner-wrapper{position:relative;visibility:visible!important;opacity:1!important}.spinner{border-radius:50%;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;animation:spinnerAnim 1s cubic-bezier(.4,0,.2,1) infinite!important;-webkit-animation:spinnerAnim 1s cubic-bezier(.4,0,.2,1) infinite!important;display:block!important;box-shadow:0 0 20px rgba(var(--color-primary-rgb),.3),0 0 40px rgba(var(--color-primary-rgb),.1)}.spinner:before{content:"";position:absolute;inset:-4px;border-radius:50%;border:4px solid rgba(var(--color-primary-rgb),.2);animation:pulseAnim 2s ease-in-out infinite;-webkit-animation:pulseAnim 2s ease-in-out infinite}@keyframes spinnerAnim{0%{transform:rotate(0deg) translateZ(0);-webkit-transform:rotate(0deg) translateZ(0)}to{transform:rotate(1turn) translateZ(0);-webkit-transform:rotate(1turn) translateZ(0)}}@keyframes pulseAnim{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.spinner-text{color:#fff;font-size:14px;opacity:.85}.logo-lockup{display:inline-flex;align-items:center;gap:.5rem;max-width:100%}.logo-lockup--compact{gap:.35rem}.logo-lockup__img{display:block;object-fit:contain;flex-shrink:0;height:auto;max-height:70px;width:auto;max-width:120px}.logo-lockup--compact .logo-lockup__img{max-height:40px;max-width:88px}.logo-lockup__text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.1rem;min-width:0;line-height:1.15}.logo-lockup__title{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.25rem;font:inherit;font-weight:700;letter-spacing:.02em;color:var(--primary-color,#ff2e63)}