:root{--fx-ripple:.65;--fx-ripple-speed:120;--fx-ripple-width:22;--fx-refract:6;--fx-text-follow:.25;--fx-ripple-light:.5;--fx-wobble:1.5;--fx-chroma:4;--fx-glow-mix:1;--fx-highlight:.45;--fx-highlight-size:1.05;--fx-rim:.2;--fx-lag:.4;--fx-lit:0;--fx-radius:999;--fx-edge-width:.5;--fx-edge-angle:180;--fx-morph-duration:560;--fx-text-duration:620;--fx-text-fade:280;--fx-text-exit:220;--fx-text-scale:.94;--fx-text-sweep:1;--fx-text-blur:3;--fx-text-chroma:1.4;--fx-text-rise:7;--fx-fill-soft:10;--fx-jelly:1.4;--fx-shake:4;--fx-shimmer-chroma:4;--fx-aurora:.6;--fx-aurora-speed:.085;--fx-aurora-near:.6;--fx-aurora-far:.2;--fx-aurora-radius:1.4;--fx-aurora-in:1400;--fx-aurora-out:1800;--fx-aurora-a:var(--color-slate-gray-100);--fx-aurora-b:var(--color-slate-gray-50);--fx-aurora-c:var(--color-light-gray-300);--fx-ambient:always;--fx-grain:0}.ds-fx-button[data-morph=liquid]{--fx-morph-duration:860;--fx-fill-soft:28;--fx-text-duration:820;--fx-text-fade:380;--fx-text-chroma:.8;--fx-jelly:2.2}.ds-fx-button[data-morph=crisp]{--fx-morph-duration:360;--fx-fill-soft:2;--fx-text-duration:420;--fx-text-fade:200;--fx-text-exit:160;--fx-text-scale:1;--fx-text-chroma:0;--fx-text-blur:1;--fx-text-sweep:0;--fx-jelly:0}.ds-fx-button{--fx-fill:var(--bg-hover);--fx-fill-on-hover:1;--fx-edge-a:var(--border-subtle);--fx-edge-b:var(--border-subtle);--fx-glow:var(--color-slate-gray-50)}.ds-fx-button.ds-button--primary{--fx-fill:var(--color-indigo-blue-700);--fx-fill-on-hover:0;--fx-edge-a:color-mix(in srgb, var(--color-indigo-blue-300) 20%, transparent);--fx-edge-b:color-mix(in srgb, var(--color-indigo-blue-700) 20%, transparent);--fx-glow:var(--color-indigo-blue-400);--fx-aurora-a:var(--color-indigo-blue-500);--fx-aurora-b:var(--color-indigo-blue-400);--fx-aurora-c:var(--color-indigo-blue-300)}:root[data-theme=light] .ds-fx-button.ds-button--primary{--fx-edge-a:transparent;--fx-edge-b:transparent;--fx-rim:0}.ds-fx-button.ds-button--primary.ds-button--minimal{--fx-fill:color-mix(in srgb, var(--color-indigo-blue-400) 20%, transparent);--fx-edge-a:transparent;--fx-edge-b:transparent}:root[data-theme=light] .ds-fx-button.ds-button--primary.ds-button--minimal{--fx-rim:0;--fx-fill:color-mix(in srgb, var(--color-indigo-blue-700) 9%, transparent);--fx-glow:var(--color-indigo-blue-700)}.ds-fx-button.ds-button--success{--fx-fill:var(--color-obsidian-green-800);--fx-fill-on-hover:0;--fx-edge-a:color-mix(in srgb, var(--color-obsidian-green-300) 20%, transparent);--fx-edge-b:color-mix(in srgb, var(--color-obsidian-green-700) 20%, transparent);--fx-glow:var(--color-obsidian-green-400);--fx-aurora-a:var(--color-obsidian-green-500);--fx-aurora-b:var(--color-obsidian-green-400);--fx-aurora-c:var(--color-obsidian-green-300)}:root[data-theme=light] .ds-fx-button.ds-button--success{--fx-edge-a:transparent;--fx-edge-b:transparent;--fx-rim:0}.ds-fx-button.ds-button--success.ds-button--minimal{--fx-fill:color-mix(in srgb, var(--color-obsidian-green-400) 20%, transparent);--fx-edge-a:transparent;--fx-edge-b:transparent}:root[data-theme=light] .ds-fx-button.ds-button--success.ds-button--minimal{--fx-rim:0;--fx-fill:color-mix(in srgb, var(--color-obsidian-green-700) 9%, transparent);--fx-glow:var(--color-obsidian-green-700)}.ds-fx-button.ds-button--warning{--fx-fill:var(--color-orange-600);--fx-fill-on-hover:0;--fx-edge-a:color-mix(in srgb, var(--color-orange-300) 20%, transparent);--fx-edge-b:color-mix(in srgb, var(--color-orange-600) 20%, transparent);--fx-glow:var(--color-orange-400);--fx-aurora-a:var(--color-orange-500);--fx-aurora-b:var(--color-orange-400);--fx-aurora-c:var(--color-orange-300)}:root[data-theme=light] .ds-fx-button.ds-button--warning{--fx-edge-a:transparent;--fx-edge-b:transparent;--fx-rim:0}.ds-fx-button.ds-button--warning.ds-button--minimal{--fx-fill:color-mix(in srgb, var(--color-orange-400) 20%, transparent);--fx-edge-a:transparent;--fx-edge-b:transparent}:root[data-theme=light] .ds-fx-button.ds-button--warning.ds-button--minimal{--fx-rim:0;--fx-fill:color-mix(in srgb, var(--color-orange-700) 9%, transparent);--fx-glow:var(--color-orange-700)}.ds-fx-button.ds-button--destructive{--fx-fill:var(--color-red-700);--fx-fill-on-hover:0;--fx-edge-a:color-mix(in srgb, var(--color-red-400) 20%, transparent);--fx-edge-b:color-mix(in srgb, var(--color-red-600) 20%, transparent);--fx-glow:var(--color-red-400);--fx-aurora-a:var(--color-red-500);--fx-aurora-b:var(--color-red-400);--fx-aurora-c:var(--color-red-300)}:root[data-theme=light] .ds-fx-button.ds-button--destructive{--fx-edge-a:transparent;--fx-edge-b:transparent;--fx-rim:0}.ds-fx-button.ds-button--destructive.ds-button--minimal{--fx-fill:color-mix(in srgb, var(--color-red-400) 20%, transparent);--fx-edge-a:transparent;--fx-edge-b:transparent}:root[data-theme=light] .ds-fx-button.ds-button--destructive.ds-button--minimal{--fx-rim:0;--fx-fill:color-mix(in srgb, var(--color-red-700) 9%, transparent);--fx-glow:var(--color-red-700)}.ds-fx-button.ds-button--secondary{--fx-fill:var(--color-slate-gray-600);--fx-fill-on-hover:0;--fx-edge-a:color-mix(in srgb, var(--color-slate-gray-50) 20%, transparent);--fx-edge-b:color-mix(in srgb, var(--color-slate-gray-200) 20%, transparent)}.ds-fx-button.ds-button--secondary.ds-button--minimal{--fx-fill:var(--bg-hover);--fx-fill-on-hover:1;--fx-edge-a:transparent;--fx-edge-b:transparent}:root[data-theme=light] .ds-fx-button:not(.ds-button--primary,.ds-button--success,.ds-button--warning,.ds-button--destructive){--fx-glow:var(--color-light-gray-600);--fx-aurora-a:var(--color-light-gray-400);--fx-aurora-b:var(--color-light-gray-300);--fx-aurora-c:var(--color-light-gray-200)}:root[data-theme=light] .ds-fx-button.ds-button--secondary{--fx-fill:var(--color-white);--fx-edge-a:var(--color-light-gray-300);--fx-edge-b:var(--color-light-gray-500);--fx-glow:var(--color-light-gray-600)}:root[data-theme=light] .ds-fx-button.ds-button--secondary.ds-button--minimal{--fx-fill:var(--bg-hover);--fx-edge-a:transparent;--fx-edge-b:transparent;--fx-rim:0}.ds-fx-button.ds-button--minimal:not(.ds-button--secondary,.ds-button--primary,.ds-button--success,.ds-button--warning,.ds-button--destructive){--fx-edge-a:transparent;--fx-edge-b:transparent}.ds-fx-button{overflow:visible}.ds-fx-button[data-glide]{transition:width .45s var(--ease-standard),background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.ds-fx-button__canvas{z-index:-1;pointer-events:none;max-width:none;position:absolute}.ds-fx-button{--fx-gap:4px}.ds-fx-button.ds-button--md{--fx-gap:6px}.ds-fx-button.ds-button--lg{--fx-gap:8px}.ds-fx-button__content{flex:none;align-items:center;gap:0;display:inline-flex}.ds-fx-button__content>.ds-button__icon:last-child:not(.ds-fx-button__glyph){margin-left:var(--fx-gap)}.ds-fx-button__glyph{margin-right:var(--fx-gap);transition:width .45s var(--ease-standard),margin .45s var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.ds-fx-button__glyph[data-empty]{opacity:0;margin-right:0;width:0!important}.ds-fx-button__glyph:only-child{margin-right:0}.ds-fx-button__spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:78%;height:78%;animation:.7s linear infinite ds-button-spin}.ds-fx-button__ring{width:100%;height:100%}.ds-fx-button[data-mode=gpu][data-gpu=ready],.ds-fx-button[data-mode=gpu][data-gpu=ready]:hover:not(:disabled),.ds-fx-button[data-mode=gpu][data-gpu=ready]:active:not(:disabled){background:0 0!important;border-color:#0000!important}.ds-fx-button[data-mode=gpu][data-gpu=ready]:before,.ds-fx-button[data-mode=gpu][data-gpu=ready]:after{opacity:0!important}.ds-fx-button[data-mode=gpu][data-gpu-label] .ds-button__label{color:#0000}.ds-fx-button[data-mode=gpu][data-gpu-label] .ds-button__icon:not([data-fx-live])>svg,.ds-fx-button[data-mode=gpu][data-gpu-label] [data-fx-run]{visibility:hidden}.ds-fx-button[data-shake]{animation:ds-fx-shake .42s var(--ease-standard)}@keyframes ds-fx-shake{0%{transform:translate(0)}15%{transform:translateX(calc(var(--fx-shake) * -1px))}32%{transform:translateX(calc(var(--fx-shake) * .8px))}50%{transform:translateX(calc(var(--fx-shake) * -.5px))}68%{transform:translateX(calc(var(--fx-shake) * .25px))}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){.ds-fx-button,.ds-fx-button__glyph{transition:none!important;animation:none!important}}
