/* FreeMesh — custom styles */
html,body{ font-family:'IBM Plex Sans Thai','Inter',sans-serif; }
body{ background:#f8fafc; color:#0f172a; }
::-webkit-scrollbar{ height:8px; width:8px; }
::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:8px; }
::-webkit-scrollbar-track{ background:transparent; }
.fade-in{ animation:fade .25s ease; }
@keyframes fade{ from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);} }
.mesh-bg{ background:
    radial-gradient(circle at 15% 20%, rgba(99,102,241,.15), transparent 40%),
    radial-gradient(circle at 85% 30%, rgba(16,185,129,.12), transparent 40%),
    radial-gradient(circle at 50% 90%, rgba(79,70,229,.12), transparent 45%); }
.cell{ transition:background .12s, transform .08s; }
.cell:hover{ transform:scale(1.03); z-index:2; }
[data-tip]{ position:relative; }
