.neo-button{--neo-icon-size:16px;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;border-radius:8px;margin:0;color:hsla(0,0%,100%,.78);background-color:var(--surface);font-weight:600;border:none;box-shadow:var(--shadow-control);gap:8px;cursor:pointer;transition:background var(--dur-hover) var(--ease-micro),box-shadow var(--dur-hover) var(--ease-micro),color var(--dur-hover) var(--ease-micro),opacity var(--dur-hover) var(--ease-micro),transform var(--dur-base) var(--ease-spring);-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:manipulation}.neo-button.small{--neo-icon-size:16px;height:32px;font-size:14px;font-weight:500;padding:6px 16px}.neo-button.small.has-leading-icon{-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:18px;padding-inline-end:18px}.neo-button.medium{--neo-icon-size:20px;height:48px;font-size:16px;font-weight:500;padding:12px 20px}.neo-button.medium.has-leading-icon{-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:22px;padding-inline-end:22px}.neo-button.large{--neo-icon-size:24px;height:56px;font-size:20px;font-weight:500;line-height:28px;padding:14px 28px}.neo-button.large.has-leading-icon{-webkit-padding-start:26px;padding-inline-start:26px;-webkit-padding-end:30px;padding-inline-end:30px}.neo-button.size-xs{--neo-control-height:32px;height:32px}.neo-button.size-sm{--neo-control-height:40px;height:40px}.neo-button.size-md{--neo-control-height:48px;height:48px}.neo-button.size-lg{--neo-control-height:56px;height:56px}.neo-button.primary{box-shadow:none;background:#ff7800;color:#fff;font-weight:500}@media(hover:hover)and (pointer:fine){.neo-button.primary:hover:not(:disabled){box-shadow:inset 0 0 0 9999px hsla(0,0%,100%,.14),0 2px 8px rgba(255,120,0,.32)}}.neo-button.secondary{background:var(--surface);color:hsla(0,0%,100%,.78);font-weight:500}@media(hover:hover)and (pointer:fine){.neo-button.secondary:hover:not(:disabled){background-color:var(--surface-hover);box-shadow:var(--shadow-control-hover);color:#fff}.neo-button.secondary:hover:not(:disabled) .neo-button-icon svg,.neo-button.secondary:hover:not(:disabled) img{opacity:1;fill:#fff}}.neo-button.tertiary{background:hsla(0,0%,100%,.01);box-shadow:none;color:#ff7800;font-weight:500;text-decoration:underline}@media(hover:hover)and (pointer:fine){.neo-button.tertiary:hover:not(:disabled){background-color:var(--surface-hover);text-decoration:none;color:#ff7800}}.neo-button.flex{flex:1 1}.neo-button.full-width{width:100%}.neo-button.icon-only{padding:0;aspect-ratio:1}.neo-button.icon-only.small{width:32px;height:32px;padding:0}@media(hover:none){.neo-button.icon-only.small{position:relative}.neo-button.icon-only.small:after{content:"";position:absolute;inset-block-start:50%;inset-inline:-6px;block-size:44px;transform:translateY(-50%)}}.neo-button.icon-only.medium{width:48px;height:48px;padding:0}.neo-button.icon-only.large{width:56px;height:56px;padding:0}.neo-button.danger{background-color:rgba(255,95,87,.08);box-shadow:0 0 0 1px var(--red-1000)}@media(hover:hover)and (pointer:fine){.neo-button.danger:hover:not(:disabled){background-color:rgba(255,95,87,.12)}.neo-button:hover:not(.primary):not(.secondary):not(.tertiary):not(.danger):not(:disabled){background-color:var(--surface-hover);box-shadow:var(--shadow-control-hover)}}.neo-button:active{transform:scale(var(--press-scale));transition:transform var(--dur-press) var(--ease-micro)}.neo-button.secondary:active:not(:disabled),.neo-button.tertiary:active:not(:disabled),.neo-button:active:not(.primary):not(.secondary):not(.tertiary):not(.danger):not(:disabled){background-color:var(--surface-press)}.neo-button.primary:active:not(:disabled){box-shadow:inset 0 0 0 9999px rgba(0,0,0,.16)}.neo-button.danger:active:not(:disabled){background-color:rgba(255,95,87,.2)}.neo-button:focus-visible{box-shadow:var(--shadow-control),var(--focus-glow)}.neo-button.primary:focus-visible,.neo-button.tertiary:focus-visible{box-shadow:var(--focus-glow)}.neo-button.danger:focus-visible{box-shadow:0 0 0 1px var(--red-1000),var(--focus-glow)}.neo-button.is-disabled,.neo-button[disabled]{transform:none;opacity:.6;cursor:not-allowed}.neo-button[disabled]{pointer-events:auto}.neo-button.is-disabled{pointer-events:none}.neo-button .neo-button-icon{width:var(--neo-icon-size,24px);height:var(--neo-icon-size,24px);flex:0 0 var(--neo-icon-size,24px);aspect-ratio:1;display:inline-flex;align-items:center;justify-content:center;color:inherit}.neo-button .neo-button-icon>svg{fill:currentColor}.neo-button .neo-button-icon>.neo-icon,.neo-button .neo-button-icon>img,.neo-button .neo-button-icon>svg{width:100%;height:100%;display:block}.neo-button .neo-icon-swap{position:relative;width:100%;height:100%}.neo-button .neo-icon-swap-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-hover) var(--ease-out)}.neo-button .neo-icon-swap-layer.active{transform:scale(1);opacity:1}.neo-button .neo-icon-swap-layer.inactive{transform:scale(.25);opacity:0}.neo-button .neo-icon-swap-layer svg{width:100%;height:100%;display:block}.neo-button .neo-icon-swap--morph .neo-icon-swap-layer{transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-press) var(--ease-out)}.neo-button .neo-icon-swap--morph .neo-icon-swap-layer.active{transform:scale(1) rotate(0deg)}.neo-button .neo-icon-swap--morph .neo-icon-swap-layer.inactive{transform:scale(.82) rotate(-12deg)}.neo-button.has-status{position:relative;overflow:hidden}.neo-button.has-status[aria-disabled=true]{cursor:progress;transform:none}.neo-button.has-status.is-success{color:rgba(15,12,20,.9);background-color:#34c759;box-shadow:var(--shadow-control),0 0 14px rgba(84,201,154,.24);cursor:default}.neo-button.primary.has-status[aria-disabled=true]{box-shadow:none}.neo-button.primary.has-status[aria-disabled=true].is-success{box-shadow:var(--shadow-control),0 0 14px rgba(84,201,154,.24)}.neo-button .neo-button-status-icon{position:relative;display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px}.neo-button .neo-button-status-icon-layer{position:absolute;display:grid;place-items:center;opacity:0;transform:rotate(-24deg) scale(.25);transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-press) var(--ease-micro)}.neo-button .neo-button-status-icon-layer.active{opacity:1;transform:rotate(0) scale(1)}.neo-button .neo-button-status-labels{display:grid;grid-template:"label" 1fr/1fr}.neo-button .neo-button-status-label{grid-area:label;opacity:0;transform:translateY(4px);transition:transform var(--dur-hover) var(--ease-out),opacity var(--dur-press) var(--ease-micro)}.neo-button .neo-button-status-label.active{opacity:1;transform:translateY(0)}.neo-button .neo-button-status-spinner{display:block;width:16px;height:16px;border:2px solid;border-right:2px solid rgba(0,0,0,0);border-radius:50%;animation:neoButtonStatusSpin .7s linear infinite}.neo-button .neo-button-status-check{display:block}.neo-button .neo-button-status-check path{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.neo-button .neo-button-status-live{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes neoButtonStatusSpin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.neo-button .neo-button-status-spinner{animation:none;border-right-color:currentColor;opacity:.7}}