/* buttons
   Loaded in numeric order: later files refine earlier ones. */
@layer site {
/* BUTTON SYSTEM — one base, three variants */
.b{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:10px;border-radius:var(--radius-pill);font-weight:600;transition:transform .4s var(--ease-out),color .3s ease,border-color .3s ease}
.b::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fill);border-radius:inherit;transform:scaleX(0);transform-origin:left center;transition:transform .55s var(--ease-out)}
.b:not(:hover):not(:focus-visible)::before{transform-origin:right center}
.b:hover::before,.b:focus-visible::before{transform:none}
.b:hover,.b:focus-visible{transform:translateY(-2px);color:var(--ink) !important;border-color:var(--fill) !important}
.b:focus-visible{outline:3px solid var(--acc);outline-offset:4px}
.b .arw{transition:transform .45s var(--ease-out)}
.b:hover .arw{transform:translateX(4px) rotate(-45deg)}
.b-pri{background:var(--acc);color:var(--color-bg);--fill:var(--color-fg);--ink:var(--color-bg)}
.b-ghost-l{border:1.5px solid var(--color-fg-a30);color:var(--color-fg);--fill:var(--color-fg);--ink:var(--color-bg)}
.b-ghost-d{border:1.5px solid var(--color-bg-a30);color:var(--color-bg);--fill:var(--color-bg);--ink:var(--color-fg)}
.glow{--r1:var(--color-bg);--r2:var(--color-fg)}
.glow:hover{--r1:var(--color-bg);--r2:var(--color-bg)}
.glow::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ang),transparent 0deg,transparent 200deg,var(--r1) 290deg,var(--r2) 320deg,transparent 360deg);-webkit-mask:linear-gradient(var(--color-shade) 0 0) content-box,linear-gradient(var(--color-shade) 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 4s linear infinite;pointer-events:none}
}
