@keyframes typingDotPulse{0%,80%,to{opacity:.34;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes btn-ripple{0%{opacity:.45;transform:translate(-50%,-50%)scale(0)}70%{opacity:.18}to{opacity:0;transform:translate(-50%,-50%)scale(2.2)}}@keyframes logo-marquee{0%{transform:translate(0)}to{transform:translate(-33.3333%)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down-fade{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}.typing-dots span{animation:1.2s ease-in-out infinite typingDotPulse}.typing-dots span:nth-child(2){animation-delay:.16s}.typing-dots span:nth-child(3){animation-delay:.32s}.backdrop-blur-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mask{-webkit-mask-image:radial-gradient(#000 0%,#0000 80%);mask-image:radial-gradient(#000 0%,#0000 80%)}.btn-elegant{--btn-bg:#fff;--btn-fg:#111;--btn-border:#0f172a2e;--btn-shadow:0 8px 20px #0f172a14;--btn-shadow-hover:0 10px 24px #0f172a1f;--btn-bg-hover:#f8f8f8;--btn-border-hover:#0f172a47;--btn-ripple:#0f172a29;background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);box-shadow:var(--btn-shadow)}.btn-elegant:hover{background-color:var(--btn-bg-hover);border-color:var(--btn-border-hover);box-shadow:var(--btn-shadow-hover)}.btn-elegant:after{content:"";left:var(--ripple-x,50%);top:var(--ripple-y,50%);background:var(--btn-ripple);opacity:0;pointer-events:none;border-radius:9999px;width:180px;height:180px;position:absolute;transform:translate(-50%,-50%)scale(0)}.btn-elegant[data-ripple=true]:after{animation:.65s ease-out btn-ripple}.btn-elegant-primary{--btn-bg:#fff;--btn-fg:#121212;--btn-border:#0f172a2e;--btn-bg-hover:#f2f2f2;--btn-border-hover:#0f172a4d;--btn-ripple:#0f172a2e}html[data-theme=dark] .btn-elegant-primary{--btn-bg:#0b0b0b;--btn-fg:#f5f5f5;--btn-border:#ffffff26;--btn-bg-hover:#141414;--btn-border-hover:#ffffff47;--btn-shadow:0 10px 26px #00000080;--btn-shadow-hover:0 12px 30px #0009;--btn-ripple:#fff3}.btn-elegant-light{--btn-bg:#f3f4f6;--btn-fg:#151515;--btn-border:#0f172a1f;--btn-bg-hover:#e5e7eb;--btn-border-hover:#0f172a33;--btn-shadow:0 6px 14px #0f172a0a;--btn-shadow-hover:0 8px 18px #0f172a14;--btn-ripple:#0f172a24}html[data-theme=dark] .btn-elegant-light{--btn-bg:#242424;--btn-fg:#f5f5f5;--btn-border:#ffffff1f;--btn-bg-hover:#2c2c2c;--btn-border-hover:#ffffff38;--btn-shadow:0 6px 16px #00000059;--btn-shadow-hover:0 8px 20px #00000073;--btn-ripple:#ffffff2e}.btn-elegant-secondary{--btn-bg:#fff;--btn-fg:#1d1d1d;--btn-border:#0f172a33;--btn-bg-hover:#f5f5f5;--btn-border-hover:#0f172a52;--btn-ripple:#0f172a2e;--btn-shadow:0 6px 14px #0f172a0f;--btn-shadow-hover:0 8px 18px #0f172a1a}html[data-theme=dark] .btn-elegant-secondary{--btn-bg:#161616;--btn-fg:#f5f5f5;--btn-border:#ffffff1f;--btn-bg-hover:#1d1d1d;--btn-border-hover:#ffffff38;--btn-shadow:0 8px 20px #0006;--btn-shadow-hover:0 10px 26px #00000080;--btn-ripple:#ffffff2e}.glass-panel{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px)saturate(112%);backdrop-filter:blur(12px)saturate(112%)}.glass-panel-strong{border:1px solid var(--glass-border);background:var(--glass-bg);box-shadow:var(--glass-shadow-strong);-webkit-backdrop-filter:blur(14px)saturate(115%);backdrop-filter:blur(14px)saturate(115%)}.theme-chip{border:1px solid color-mix(in srgb,var(--glass-border)76%,transparent);background:color-mix(in srgb,var(--surface)82%,transparent);color:var(--ink-700);transition:background-color .18s,color .18s;box-shadow:inset 0 1px #ffffff2e}.theme-chip[data-active=true]{color:var(--ink-950);background:linear-gradient(#3ecf8e2e,#3ecf8e14);border-color:#3ecf8e47}.logo-marquee-mask{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 12% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 12% 88%,#0000 100%)}.logo-marquee{--marquee-duration:30s;width:max-content;animation:logo-marquee var(--marquee-duration)linear infinite;will-change:transform;display:flex}.logo-marquee-track{flex:none;width:max-content}.logo-mono{filter:grayscale()brightness(.18)}html[data-theme=dark] .logo-mono{filter:grayscale()brightness(0)invert()}.animate-slide-up-fade{animation:.8s ease-in-out both slide-up-fade}.animate-slide-down-fade{animation:.7s ease-in-out both slide-down-fade}
