.brand-logo{--brand-size:1.75rem;--brand-glow:0 0 0 0 var(--color-brand-rgb-fade);width:var(--brand-size);height:var(--brand-size);background-color:var(--color-brand-active);color:var(--color-brand-active-foreground);letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 1px 0 0 #fff0 inset, var(--brand-glow);border-radius:.5rem;outline:none;justify-content:center;align-items:center;font-weight:600;transition:background-color .5s cubic-bezier(.22,1,.36,1),color .5s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;display:inline-flex;position:relative}.brand-logo:hover{--brand-glow:0 0 0 6px var(--color-brand-rgb-fade);transform:translateY(-1px)scale(1.04)}.brand-logo:focus-visible{--brand-glow:0 0 0 6px var(--color-brand-rgb-fade)}.brand-logo[data-pulse=true]{animation:.6s cubic-bezier(.22,1,.36,1) brand-logo-pulse}@keyframes brand-logo-pulse{0%{transform:scale(1)rotate(0)}20%{transform:scale(1.18)rotate(-6deg)}45%{transform:scale(.94)rotate(4deg)}70%{transform:scale(1.08)rotate(-2deg)}to{transform:scale(1)rotate(0)}}.brand-logo__particles{pointer-events:none;position:absolute;inset:0;overflow:visible}.brand-logo__particle{background-color:var(--color-brand-preview);opacity:0;border-radius:9999px;width:.35rem;height:.35rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-logo[data-burst=true] .brand-logo__particle{animation:.72s cubic-bezier(.22,1,.36,1) forwards brand-particle-burst}.brand-logo__particle:first-child{--tx:-28px;--ty:-22px}.brand-logo__particle:nth-child(2){--tx:28px;--ty:-18px}.brand-logo__particle:nth-child(3){--tx:-30px;--ty:6px}.brand-logo__particle:nth-child(4){--tx:30px;--ty:8px}.brand-logo__particle:nth-child(5){--tx:-18px;--ty:28px}.brand-logo__particle:nth-child(6){--tx:18px;--ty:28px}.brand-logo__particle:nth-child(7){--tx:0px;--ty:-34px}.brand-logo__particle:nth-child(8){--tx:0px;--ty:34px}@keyframes brand-particle-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(.6)}}.brand-logo__ripple{border-radius:inherit;pointer-events:none;opacity:0;background-color:var(--color-brand-preview);position:absolute;inset:0}.brand-logo[data-ripple=true] .brand-logo__ripple{animation:.6s ease-out brand-ripple}@keyframes brand-ripple{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}
