.button{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;gap:.5rem;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;text-decoration:none;transition:all .15s;display:inline-flex}.button:focus-visible{outline-offset:2px;outline:2px solid #111}.button--size-xs{min-height:28px;padding:.25rem .5rem;font-size:.75rem}.button--size-sm{min-height:34px;padding:.5rem .75rem;font-size:.875rem}.button--size-md{min-height:40px;padding:.5rem 1rem;font-size:1rem}.button--size-lg{min-height:48px;padding:.75rem 1.5rem;font-size:1.125rem}.button--size-xl{min-height:56px;padding:1rem 2rem;font-size:1.25rem}.button--shape-default{border-radius:.375rem}.button--shape-rounded{border-radius:.5rem}.button--shape-pill{border-radius:9999px}.button--shape-square{border-radius:0}.button--shape-circle{aspect-ratio:1;border-radius:50%;padding:0}.button--weight-normal{font-weight:400}.button--weight-medium{font-weight:500}.button--weight-semibold{font-weight:600}.button--weight-bold{font-weight:700}.button--variant-primary{background-color:var(--btn-bg,#111);color:var(--btn-color,#fff);border:var(--btn-border-width,0)solid var(--btn-border,transparent)}.button--variant-primary:hover:not(:disabled){background-color:var(--btn-hover-bg,#1a1a1a);color:var(--btn-hover-color,#fff)}.button--variant-primary:active:not(:disabled){background-color:#0a0a0a}.button--variant-secondary{background-color:var(--btn-bg,#f5f5f5);color:var(--btn-color,#111);border:var(--btn-border-width,0)solid var(--btn-border,transparent)}.button--variant-secondary:hover:not(:disabled){background-color:var(--btn-hover-bg,#e5e5e5)}.button--variant-outline{color:var(--btn-color,#111);border:var(--btn-border-width,1px)solid var(--btn-border,#262626);background-color:#0000}.button--variant-outline:hover:not(:disabled){background-color:var(--btn-hover-bg,#f5f5f5);border-color:#262626}.button--variant-ghost{color:var(--btn-color,#111);background-color:#0000;border:none}.button--variant-ghost:hover:not(:disabled){background-color:var(--btn-hover-bg,#f5f5f5)}.button--variant-link{color:var(--btn-color,#111);background-color:#0000;border:none;min-height:auto;padding:0}.button--variant-link:hover:not(:disabled){color:var(--btn-hover-color,#0a0a0a);text-decoration:underline}.button--variant-danger{background-color:var(--btn-bg,#1a1a1a);color:var(--btn-color,#fff);border:var(--btn-border-width,0)solid var(--btn-border,transparent)}.button--variant-danger:hover:not(:disabled){background-color:var(--btn-hover-bg,#010101)}.button--variant-success{background-color:var(--btn-bg,#262626);color:var(--btn-color,#fff);border:var(--btn-border-width,0)solid var(--btn-border,transparent)}.button--variant-success:hover:not(:disabled){background-color:var(--btn-hover-bg,#0d0d0d)}.button--variant-warning{background-color:var(--btn-bg,#404040);color:var(--btn-color,#111);border:var(--btn-border-width,0)solid var(--btn-border,transparent)}.button--variant-warning:hover:not(:disabled){background-color:var(--btn-hover-bg,#272727)}.button--gradient{background:linear-gradient(135deg,var(--btn-gradient-from,#111)0%,var(--btn-gradient-to,#0a0a0a)100%);border:none}.button--gradient:hover:not(:disabled){filter:brightness(1.1)}.button--shadow-none{box-shadow:none}.button--shadow-sm{box-shadow:0 1px 2px #0000000d}.button--shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.button--shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.button--full-width{width:100%}.button--icon-only.button--size-xs{width:28px}.button--icon-only.button--size-sm{width:34px}.button--icon-only.button--size-md{width:40px}.button--icon-only.button--size-lg{width:48px}.button--icon-only.button--size-xl{width:56px}.button--uppercase{text-transform:uppercase;letter-spacing:.05em}.button--hover-scale:hover:not(:disabled){transform:scale(1.02)}.button--hover-shadow:hover:not(:disabled){box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.button--pulse-on-hover:hover:not(:disabled){animation:1s infinite button-pulse}.button--loading{cursor:wait}.button--active{transform:scale(.98)}.button--disabled{opacity:.5;cursor:not-allowed}.button__icon{justify-content:center;align-items:center;display:flex}.button__icon svg{width:1em;height:1em}.button__icon--left{margin-right:.25rem}.button__icon--right{margin-left:.25rem}.button__spinner{justify-content:center;align-items:center;display:flex}.button__spinner-svg{width:1.2em;height:1.2em;animation:.8s linear infinite button-spin}.button__text{align-items:center;display:flex}@keyframes button-spin{to{transform:rotate(360deg)}}@keyframes button-pulse{0%,to{box-shadow:0 0 #1116}50%{box-shadow:0 0 0 10px #1110}}
