.neo-button{--neo-icon-size:16px;white-space:nowrap;color:#ffffffc7;background-color:var(--surface);box-shadow:var(--shadow-control);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:#0000;touch-action:manipulation;border:none;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:8px;margin:0;font-weight:600;display:inline-flex}.neo-button.small{--neo-icon-size:16px;height:32px;padding:6px 16px;font-size:14px;font-weight:500}.neo-button.small.has-leading-icon{padding-inline:14px 18px}@media (hover:none){.neo-button.small{position:relative}.neo-button.small:after{content:"";block-size:max(100%,44px);inline-size:max(100%,0px);position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}}.neo-button.medium{--neo-icon-size:20px;height:44px;padding:12px 20px;font-size:16px;font-weight:500}.neo-button.medium.has-leading-icon{padding-inline:18px 22px}.neo-button.large{--neo-icon-size:24px;height:52px;padding:14px 28px;font-size:20px;font-weight:500;line-height:28px}.neo-button.large.has-leading-icon{padding-inline:26px 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:44px;height:44px}.neo-button.size-lg{--neo-control-height:52px;height:52px}.neo-button.primary{box-shadow:none;background-color:#ff7800;background-image:var(--specular-brand);color:#fff;font-weight:500}@media (hover:hover) and (pointer:fine){.neo-button.primary:hover:not(:disabled){box-shadow:inset 0 0 0 9999px #ffffff24,0 2px 8px #ff780052}}.neo-button.secondary{background:var(--surface);color:#ffffffc7;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{box-shadow:none;color:#ff7800;background:#ffffff03;font-weight:500;text-decoration:underline}@media (hover:hover) and (pointer:fine){.neo-button.tertiary:hover:not(:disabled){background-color:var(--surface-hover);color:#ff7800;text-decoration:none}}.neo-button.flex{flex:1}.neo-button.full-width{width:100%}.neo-button.icon-only{aspect-ratio:1;padding:0}.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:"";block-size:max(100%,44px);inline-size:max(100%,44px);position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}}.neo-button.icon-only.medium{width:44px;height:44px;padding:0}.neo-button.icon-only.large{width:52px;height:52px;padding:0}.neo-button.danger{box-shadow:0 0 0 1px var(--red-1000);background-color:#ff5f5714}@media (hover:hover) and (pointer:fine){.neo-button.danger:hover:not(:disabled){background-color:#ff5f571f}.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:active:not(.primary):not(.secondary):not(.tertiary):not(.danger):not(:disabled),.neo-button.secondary:active:not(:disabled),.neo-button.tertiary:active:not(:disabled){background-color:var(--surface-press)}.neo-button.primary:active:not(:disabled){box-shadow:inset 0 0 0 9999px #00000029}.neo-button.danger:active:not(:disabled){background-color:#ff5f5733}.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[disabled],.neo-button.is-disabled{opacity:.6;cursor:not-allowed;transform:none}.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;color:inherit;justify-content:center;align-items:center;display:inline-flex}.neo-button .neo-button-icon>svg{fill:currentColor}.neo-button .neo-button-icon>svg,.neo-button .neo-button-icon>img,.neo-button .neo-button-icon>.neo-icon{width:100%;height:100%;display:block}.neo-button .neo-icon-swap{width:100%;height:100%;position:relative}.neo-button .neo-icon-swap-layer{transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-hover) var(--ease-out);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.neo-button .neo-icon-swap-layer.active{opacity:1;transform:scale(1)}.neo-button .neo-icon-swap-layer.inactive{opacity:0;transform:scale(.25)}.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(0)}.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:#0f0c14e6;box-shadow:var(--shadow-control),0 0 14px #54c99a3d;cursor:default;background-color:#34c759;background-image:none}.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 #54c99a3d}.neo-button .neo-button-status-icon{flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid;position:relative}.neo-button .neo-button-status-icon-layer{opacity:0;transition:transform var(--dur-base) var(--ease-spring),opacity var(--dur-press) var(--ease-micro);place-items:center;display:grid;position:absolute;transform:rotate(-24deg)scale(.25)}.neo-button .neo-button-status-icon-layer.active{opacity:1;transform:rotate(0)scale(1)}.neo-button .neo-button-status-labels{grid-template:"label"1fr/1fr;display:grid}.neo-button .neo-button-status-label{opacity:0;transition:transform var(--dur-hover) var(--ease-out),opacity var(--dur-press) var(--ease-micro);grid-area:label;transform:translateY(4px)}.neo-button .neo-button-status-label.active{opacity:1;transform:translateY(0)}.neo-button .neo-button-status-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite neoButtonStatusSpin;display:block}.neo-button .neo-button-status-check{display:block}.neo-button .neo-button-status-check path{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.neo-button .neo-button-status-live{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes neoButtonStatusSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.neo-button .neo-button-status-spinner{opacity:.7;border-right-color:currentColor;animation:none}}
