@keyframes orb-1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(80px,-60px) scale(1.12)}66%{transform:translate(-40px,50px) scale(.94)}}@keyframes orb-2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-60px,70px) scale(1.06)}66%{transform:translate(50px,-40px) scale(.9)}}@keyframes orb-3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-55px) scale(1.1)}}@keyframes auth-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes auth-fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes auth-twinkle{0%,to{opacity:.12;transform:scale(1)}50%{opacity:.65;transform:scale(1.35)}}@keyframes auth-pulse{0%,to{box-shadow:0 0 #6c3fd466}50%{box-shadow:0 0 0 10px #6c3fd400}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-18px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(.96)}}@keyframes strength-grow{0%{width:0}}.auth-card{background:#141026d9;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(108,63,212,.28);border-radius:28px;box-shadow:0 32px 80px #0000008c,0 0 0 1px #ffffff08,inset 0 1px #ffffff0d}.auth-btn-primary{transition:transform .2s ease,filter .2s ease,box-shadow .2s ease}.auth-btn-primary:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-google{transition:background .2s,border-color .2s}.auth-btn-google:hover{background:#ffffff1a!important;border-color:#ffffff4d!important}.auth-btn-ghost{transition:background .2s,border-color .2s,color .2s}.auth-btn-ghost:hover{background:#6c3fd41f!important;border-color:#6c3fd466!important;color:#9b72ef!important}.auth-input{transition:border-color .2s,box-shadow .2s}.auth-input:focus{outline:none;border-color:#6c3fd4!important;box-shadow:0 0 0 3px #6c3fd438}.auth-link{transition:opacity .15s}.auth-link:hover{opacity:.72}.pwd-toggle{transition:color .15s}.pwd-toggle:hover{color:#9b72ef!important}.sm-music-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:90;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,215,0,.35);border-radius:50%;background:linear-gradient(135deg,#6c3fd4,#9b72ef);color:gold;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 6px 24px #6c3fd480,0 2px 8px #0006;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease;animation:sm-music-fab-in .3s cubic-bezier(.22,1,.36,1)}@media (min-width: 640px){.sm-music-fab{width:52px;height:52px}}.sm-music-fab:hover{transform:translateY(-2px);box-shadow:0 10px 30px #6c3fd499,0 2px 8px #00000073}.sm-music-fab:active{transform:translateY(0) scale(.94)}.sm-music-fab:focus-visible{outline:3px solid rgba(255,215,0,.8);outline-offset:3px}.sm-music-fab--muted{background:linear-gradient(135deg,#1e1838,#16122a);border-color:#6c3fd473;color:#8b7db0;box-shadow:0 4px 16px #00000073}.sm-music-fab--muted:hover{color:#c4bae0;box-shadow:0 8px 22px #00000080}.sm-music-eq{display:flex;align-items:flex-end;gap:3px;height:18px}.sm-music-eq__bar{width:3px;height:18px;border-radius:2px;background:currentColor;transform:scaleY(.28);transform-origin:bottom center;animation:sm-music-eq .9s ease-in-out infinite}.sm-music-eq__bar:nth-child(2){animation-duration:.78s;animation-delay:.18s}.sm-music-eq__bar:nth-child(3){animation-duration:1.02s;animation-delay:.36s}.sm-music-eq--idle .sm-music-eq__bar{animation-play-state:paused;transform:scaleY(.45);opacity:.7}.sm-music-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}@keyframes sm-music-fab-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes sm-music-eq{0%,to{transform:scaleY(.28)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.sm-music-fab{animation:none;transition:none}.sm-music-fab:hover,.sm-music-fab:active{transform:none}.sm-music-eq__bar{animation:none;transform:scaleY(.6)}}
