/* Interaction polish for buttons and nav links: one easing and timing across the site.
   Hover lifts and glows, press settles back, keyboard focus gets a ring. Loaded after style.css. */
:root{--ease:cubic-bezier(.4,0,.2,1);--btn-a:#16a1b3;--btn-b:#0b7280;--btn-glow:rgba(14,127,142,.42)}
@media (prefers-color-scheme:dark){:root{--btn-a:#1b9fb1;--btn-b:#0a6f7d;--btn-glow:rgba(60,192,208,.4)}}
.btn{border-radius:999px}
.btn,.npill,.nl,.menu-btn,.copybtn,.dd-menu a{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .3s var(--ease),border-color .3s var(--ease),color .15s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease)}
.nl,.dd-menu a,.copybtn{transition-duration:.15s}
/* primary: gradient fill with a top highlight */
.btn.primary,.npill.dl{background:linear-gradient(180deg,var(--btn-a),var(--btn-b));border-color:var(--btn-b);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 1px 2px rgba(0,0,0,.3)}
.btn.primary:hover,.npill.dl:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 22px -6px var(--btn-glow)}
.btn.primary:active,.npill.dl:active{transform:translateY(0) scale(.98);filter:brightness(.96);box-shadow:inset 0 1px 2px rgba(0,0,0,.25)}
/* secondary */
.btn:not(.primary):hover,.npill:not(.dl):hover{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-soft);box-shadow:0 6px 16px -8px var(--btn-glow)}
.btn:not(.primary):active,.npill:not(.dl):active{transform:translateY(0) scale(.98);box-shadow:none}
.btn.primary:hover,.btn:hover{border-color:var(--btn-b)}
.btn.primary:hover{border-color:var(--btn-b)}
/* nav links and icon buttons */
.nl:active,.menu-btn:active,.copybtn:active{transform:scale(.95)}
.menu-btn:hover{border-color:var(--accent);background:var(--accent-soft)}
.dd-menu a:active{background:var(--accent-soft);transform:scale(.99)}
.btn:focus-visible,.npill:focus-visible,.nl:focus-visible,.menu-btn:focus-visible,.copybtn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.btn[disabled],.btn[disabled]:hover{transform:none;filter:none;box-shadow:none;opacity:.6;cursor:wait}
@media (prefers-reduced-motion:reduce){.btn,.npill,.nl,.menu-btn,.copybtn,.dd-menu a{transition:none}.btn:hover,.npill:hover{transform:none}}
