.curved-input{position:relative;display:block;width:100%;max-width:100%;margin:0}.curved-input__svg{display:block;overflow:visible;width:100%;height:auto;cursor:text;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.curved-input__svg text{font-family:inherit}.curved-input__ring{opacity:0;transition:opacity .25s ease}.curved-input--focused .curved-input__ring{opacity:.28}.curved-input__button{cursor:pointer;outline:none}.curved-input__button-bg{transition:filter .2s ease,opacity .2s ease}.curved-input__button:hover .curved-input__button-bg{filter:brightness(1.12)}.curved-input__button:active .curved-input__button-bg{filter:brightness(.94)}.curved-input__button:focus-visible .curved-input__button-bg{filter:brightness(1.18)}.curved-input__field{inset:0;opacity:0;border:0;padding:0;margin:0;background:transparent;color:transparent;caret-color:transparent;font-size:16px;outline:none}.curved-input__field,.side-rays-container{position:absolute;width:100%;height:100%;pointer-events:none}.side-rays-container{z-index:3;overflow:hidden}.specular-button{--sb-radius:18px;--sb-tint:#fff;--sb-tint-opacity:0;--sb-blur:0px;--sb-text-color:#f5f5f5;position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;margin:0;font-family:inherit;font-weight:500;letter-spacing:.01em;line-height:1;color:var(--sb-text-color);background:color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent);border-radius:var(--sb-radius);backdrop-filter:blur(var(--sb-blur));-webkit-backdrop-filter:blur(var(--sb-blur));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04),0 8px 24px rgba(0,0,0,.25);cursor:pointer;outline:none;transition:transform .15s ease}.specular-button:active{transform:scale(.97)}.specular-button:focus-visible{outline:2px solid color-mix(in srgb,var(--sb-text-color) 60%,transparent);outline-offset:3px}.specular-button:disabled{opacity:.55;cursor:default}.specular-button:disabled:active{transform:none}.specular-button--sm{font-size:.85rem;padding:10px 22px}.specular-button--md{font-size:1rem;padding:14px 30px}.specular-button--lg{font-size:1.15rem;padding:18px 40px}.specular-button__fx{position:absolute;inset:-20px;pointer-events:none;z-index:1}.specular-button__fx canvas{display:block;width:100%;height:100%}.specular-button__label{position:relative;z-index:2}