.pl-spinner{--size:16px;width:var(--size);height:var(--size);background:conic-gradient(from 0deg, transparent 0deg, color-mix(in srgb, var(--spectrum-1) 40%, transparent) 90deg, var(--spectrum-2) 300deg, var(--spectrum-1) 360deg);border-radius:50%;flex:none;animation:.8s linear infinite pl-spin;display:inline-block;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px))}@media (prefers-reduced-motion:reduce){.pl-spinner{animation:2.4s linear infinite pl-spin!important}}.pl-button{--btn-h:var(--control-md);--btn-px:14px;--btn-gap:8px;--btn-radius:var(--radius-md);--btn-font:14px;isolation:isolate;justify-content:center;align-items:center;gap:var(--btn-gap);height:var(--btn-h);padding:0 var(--btn-px);border-radius:var(--btn-radius);font-size:var(--btn-font);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), color var(--dur-fast) var(--ease-standard), filter var(--dur-base) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);line-height:1;text-decoration:none;display:inline-flex;position:relative}.pl-button svg{flex:none;width:1.15em;height:1.15em}.pl-button:active:not(:disabled){transform:translateY(.5px)scale(.985)}.pl-button:focus-visible{border-radius:var(--btn-radius)}.pl-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none;filter:saturate(.6)}.pl-button.is-loading{cursor:progress;opacity:.85}.pl-button--full{width:100%}.pl-button--sm{--btn-h:var(--control-sm);--btn-px:11px;--btn-gap:6px;--btn-radius:8px;--btn-font:13px}.pl-button--lg{--btn-h:var(--control-lg);--btn-px:20px;--btn-gap:10px;--btn-radius:var(--radius-lg);--btn-font:15px}.pl-button--primary{color:var(--fg-on-accent);background:linear-gradient(180deg, #ffffff24, #fff0 55%), var(--accent);box-shadow:inset 0 1px 0 #ffffff3d, inset 0 -1px 0 #0000002e, 0 1px 2px rgb(var(--shadow-color) / .25), 0 4px 14px -6px var(--accent-glow)}.pl-button--primary:hover:not(:disabled){background:linear-gradient(180deg, #ffffff2e, #fff0 55%), var(--accent-hover);box-shadow:inset 0 1px 0 #ffffff47, inset 0 -1px 0 #0000002e, 0 1px 2px rgb(var(--shadow-color) / .25), 0 10px 28px -8px var(--accent-glow)}.pl-button--primary:active:not(:disabled){background:var(--accent-press)}.pl-button--spark{color:#fff;background:linear-gradient(180deg, #fff3, #fff0 50%), var(--gradient-spark);text-shadow:0 1px 1px color-mix(in srgb, var(--spectrum-3) 30%, #0003);box-shadow:inset 0 1px 0 #ffffff59, inset 0 -1px 0 color-mix(in srgb, var(--spectrum-3) 26%, #00000024), 0 1px 2px rgb(var(--shadow-color) / .2), var(--glow-warm)}.pl-button--spark:hover:not(:disabled){filter:saturate(1.12)brightness(1.04);box-shadow:inset 0 1px 0 #fff6, inset 0 -1px 0 color-mix(in srgb, var(--spectrum-3) 26%, #00000024), 0 1px 2px rgb(var(--shadow-color) / .2), 0 12px 34px -8px color-mix(in srgb, var(--spectrum-1) calc(60% * var(--glow-alpha)), transparent), 0 16px 52px -12px color-mix(in srgb, var(--spectrum-2) calc(55% * var(--glow-alpha)), transparent)}.pl-button--secondary{color:var(--fg-1);background:var(--bg-control);box-shadow:inset 0 0 0 1px var(--border-2), inset 0 1px 0 var(--specular), var(--shadow-1)}.pl-button--secondary:hover:not(:disabled){background:var(--bg-control-hover);box-shadow:inset 0 0 0 1px var(--border-3), inset 0 1px 0 var(--specular), var(--shadow-2)}.pl-button--subtle{color:var(--accent-subtle-fg);background:var(--accent-subtle)}.pl-button--subtle:hover:not(:disabled){background:var(--accent-subtle-hover)}.pl-button--ghost{color:var(--fg-2);background:0 0}.pl-button--ghost:hover:not(:disabled){color:var(--fg-1);background:var(--bg-hover)}.pl-button--ghost:active:not(:disabled){background:var(--bg-active)}.pl-button--danger{color:#fff;background:linear-gradient(180deg, #ffffff24, #fff0 55%), var(--danger-solid);box-shadow:inset 0 1px 0 #ffffff38, inset 0 -1px 0 #00000029, 0 1px 2px rgb(var(--shadow-color) / .2)}.pl-button--danger:hover:not(:disabled){box-shadow:inset 0 1px 0 #ffffff38, inset 0 -1px 0 #00000029, 0 8px 24px -8px var(--danger-glow)}.pl-icon-button{width:var(--btn-h);padding:0}.pl-icon-button svg{width:18px;height:18px}.pl-icon-button.pl-button--sm svg{width:16px;height:16px}
