/* ============================================================
   Site-wide premium effects — loads on every page.
   Grain · custom cursor · magnetic base · page transitions
   ============================================================ */

/* ---- film grain (subtle, over everything, never blocks clicks) ---- */
html::after{
  content:"";position:fixed;inset:0;z-index:120;pointer-events:none;
  opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-size:180px 180px;
}

/* keyboard-friendly focus rings (only shows when tabbing, not on mouse click) */
:focus-visible{outline:2px solid var(--rose,#E0566A);outline-offset:3px;border-radius:3px}
.node:focus-visible,.dcard:focus-visible,.tcard:focus-visible,.startup-card:focus-visible,.clink:focus-visible{outline-offset:4px}

/* page transitions removed — navigation is standard browser behaviour */
@media(prefers-reduced-motion:reduce){
  html::after{display:none}
}
