/* ── CURSOR ── */
#cursor{position:fixed;width:12px;height:12px;border-radius:50%;background:var(--cyan);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform 0.08s,width 0.2s,height 0.2s,opacity 0.2s;mix-blend-mode:screen;box-shadow:0 0 16px var(--cyan),0 0 32px rgba(0,229,255,0.4);}
#cursor-ring{position:fixed;width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,229,255,0.5);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left 0.12s ease-out,top 0.12s ease-out,width 0.25s,height 0.25s,opacity 0.2s;}
body:has(a:hover) #cursor,body:has(button:hover) #cursor{width:20px;height:20px;}
body:has(a:hover) #cursor-ring,body:has(button:hover) #cursor-ring{width:56px;height:56px;border-color:var(--cyan);}

/* ── THREE.JS CANVAS ── */
#three-canvas{position:fixed;inset:0;z-index:0;pointer-events:none;}