/**
 * Water cursor: an animated cursor with 480+ styles, chosen in Theme Options > Cursor > Animated cursor.
 * The colors, sizes and shapes come from the cursor script; this file only styles the elements it creates.
 */
#wc-root {
	position: fixed; inset: 0; z-index: 2147483000;
	pointer-events: none; overflow: hidden;
	--c: 70, 170, 255; --a: 168, 228, 255; --s: 30px; --b: 10px; --h: 60px;
}
#wc-root .wc-head, #wc-root .wc-core, #wc-root .wc-halo, #wc-root .wc-orbit, #wc-root .wc-sat,
#wc-root .wc-bit, #wc-root .wc-ripple {
	position: absolute; left: 0; top: 0; pointer-events: none; box-sizing: border-box;
}
#wc-root .wc-head, #wc-root .wc-halo, #wc-root .wc-bit, #wc-root .wc-ripple { will-change: transform, opacity; }
#wc-root .wc-head, #wc-root .wc-orbit { width: 0; height: 0; }

/* ---------- head shapes ---------- */
#wc-root .wc-core {
	width: var(--s); height: var(--s); margin: calc(var(--s) / -2) 0 0 calc(var(--s) / -2);
	border-radius: 50%;
}
#wc-root[data-head="drop"] .wc-core {
	background:
		radial-gradient(circle at 30% 28%, rgba(255,255,255,.9) 0, rgba(255,255,255,0) 32%),
		radial-gradient(circle at 50% 50%, rgba(var(--c), .30), rgba(var(--c), .58));
	box-shadow: inset 0 -4px 8px rgba(var(--c), .45), inset 0 2px 5px rgba(255,255,255,.6), 0 6px 16px rgba(var(--c), .3);
	-webkit-backdrop-filter: blur(1.5px) saturate(1.4); backdrop-filter: blur(1.5px) saturate(1.4);
}
#wc-root[data-head="bubble"] .wc-core {
	background:
		radial-gradient(circle at 30% 26%, rgba(255,255,255,.95) 0, rgba(255,255,255,0) 22%),
		radial-gradient(circle at 70% 78%, rgba(var(--a), .35) 0, rgba(var(--a), 0) 40%);
	border: 1.5px solid rgba(var(--c), .7);
	box-shadow: inset 0 0 12px rgba(var(--c), .3), 0 0 10px rgba(var(--c), .2);
}
#wc-root[data-head="ring"] .wc-core {
	border: 2px solid rgba(var(--c), .95); background: rgba(var(--c), .07);
	box-shadow: 0 0 12px rgba(var(--c), .35);
}
#wc-root[data-head="dot"] .wc-core { background: rgb(var(--c)); box-shadow: 0 0 8px rgba(var(--c), .5); }
#wc-root[data-head="blob"] .wc-core {
	background: radial-gradient(circle at 35% 30%, rgba(var(--a), .95), rgba(var(--c), .9) 70%);
	box-shadow: 0 0 22px rgba(var(--c), .45);
}
#wc-root[data-head="diamond"] .wc-core {
	border-radius: 0; background: linear-gradient(135deg, rgb(var(--a)), rgb(var(--c)));
	clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
#wc-root[data-head="star"] .wc-core {
	border-radius: 0; background: linear-gradient(135deg, rgb(var(--a)), rgb(var(--c)));
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
#wc-root[data-head="square"] .wc-core { border-radius: 2px; background: rgb(var(--c)); box-shadow: 3px 3px 0 rgba(var(--a), .6); }
#wc-root[data-head="glow"] .wc-core {
	background: radial-gradient(circle, rgba(var(--a), .95) 0, rgba(var(--c), .55) 35%, rgba(var(--c), 0) 70%);
}
#wc-root[data-head="ink"] .wc-core { background: rgb(var(--c)); box-shadow: 0 2px 6px rgba(var(--c), .35); }
#wc-root[data-head="orb"] .wc-core {
	background:
		radial-gradient(circle at 35% 30%, rgba(255,255,255,.7), rgba(255,255,255,0) 45%),
		radial-gradient(circle at 60% 65%, rgba(var(--a), .6), rgba(var(--c), .38) 70%);
	box-shadow: 0 0 40px rgba(var(--c), .45), inset 0 0 18px rgba(var(--a), .4);
	-webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
}

#wc-root .wc-halo {
	width: var(--h); height: var(--h); margin: calc(var(--h) / -2) 0 0 calc(var(--h) / -2);
	border-radius: 50%; border: 1.5px solid rgba(var(--c), .65);
}
#wc-root .wc-sat { width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%; background: rgb(var(--a)); box-shadow: 0 0 6px rgba(var(--c), .6); }

/* ---------- particles ---------- */
#wc-root .wc-bit {
	width: var(--b); height: var(--b); margin: calc(var(--b) / -2) 0 0 calc(var(--b) / -2);
	border-radius: 50%; opacity: 0;
}
#wc-root[data-bit="circle"] .wc-bit {
	background: radial-gradient(circle at 32% 30%, rgba(255,255,255,.9) 0, rgba(255,255,255,0) 40%), rgba(var(--c), .6);
	box-shadow: inset 0 -1px 2px rgba(var(--c), .5), 0 1px 4px rgba(var(--c), .25);
}
#wc-root[data-bit="bubble"] .wc-bit {
	background: radial-gradient(circle at 30% 28%, rgba(255,255,255,.9) 0, rgba(255,255,255,0) 28%);
	border: 1px solid rgba(var(--c), .75);
}
#wc-root[data-bit="ring"] .wc-bit { border: 1.5px solid rgba(var(--c), .8); }
#wc-root[data-bit="square"] .wc-bit { border-radius: 1px; background: rgba(var(--c), .9); }
#wc-root[data-bit="diamond"] .wc-bit {
	border-radius: 0; background: linear-gradient(135deg, rgb(var(--a)), rgb(var(--c)));
	clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}
#wc-root[data-bit="star"] .wc-bit {
	border-radius: 0; background: rgb(var(--c));
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}
#wc-root[data-bit="glow"] .wc-bit { background: radial-gradient(circle, rgba(var(--a), .95) 0, rgba(var(--c), .5) 40%, rgba(var(--c), 0) 70%); }
#wc-root[data-bit="ink"] .wc-bit { background: rgb(var(--c)); }

#wc-root[data-bit="flame"] .wc-bit {
	border-radius: 50% 50% 50% 50% / 68% 68% 32% 32%;
	background: radial-gradient(circle at 50% 72%, rgb(var(--a)) 0, rgb(var(--c)) 55%, rgba(var(--c), 0) 100%);
	filter: blur(.4px);
}
#wc-root[data-bit="smoke"] .wc-bit {
	background: radial-gradient(circle, rgba(var(--c), .65) 0, rgba(var(--a), .3) 50%, rgba(var(--a), 0) 72%);
	filter: blur(2px);
}
/* emoji / glyph themes */
#wc-root[data-head="emoji"] .wc-core {
	display: flex; align-items: center; justify-content: center; border-radius: 0;
	font-size: calc(var(--s) * .85); line-height: 1; background: none;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}
#wc-root[data-bit="emoji"] .wc-bit {
	width: calc(var(--b) * 2); height: calc(var(--b) * 2); margin: calc(var(--b) * -1) 0 0 calc(var(--b) * -1);
	display: flex; align-items: center; justify-content: center; border-radius: 0; background: none;
	font-size: calc(var(--b) * 1.6); line-height: 1;
	font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}

#wc-root .wc-ripple {
	width: 60px; height: 60px; margin: -30px 0 0 -30px; border-radius: 50%; opacity: 0;
	border: 1.5px solid rgba(var(--c), .75);
	box-shadow: 0 0 10px rgba(var(--c), .3), inset 0 0 10px rgba(var(--c), .18);
}

html.wc-hide-native, html.wc-hide-native * { cursor: none !important; }

/* ---------- visitor on/off button ---------- */
#wc-toggle {
	--c: 70, 170, 255;
	position: fixed; right: 18px; bottom: 18px; z-index: 2147483001;
	display: flex; align-items: center; gap: 8px; padding: 9px 14px 9px 10px;
	border: 0; border-radius: 999px;
	font: 600 12px/1 system-ui, -apple-system, "Segoe UI", sans-serif;
	color: #0b3a6e; background: rgba(255,255,255,.9);
	box-shadow: 0 4px 16px rgba(0,0,0,.2);
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	cursor: pointer; transition: color .25s, transform .25s;
}
#wc-toggle.wc-pos-bottom-left { left: 18px; right: auto; }
#wc-toggle.wc-pos-top-right { top: 18px; bottom: auto; }
#wc-toggle.wc-pos-top-left { top: 18px; bottom: auto; left: 18px; right: auto; }
#wc-toggle:hover { transform: translateY(-2px); }
#wc-toggle:focus-visible { outline: 2px solid #2b8cff; outline-offset: 2px; }
#wc-toggle .wc-dot {
	width: 16px; height: 16px; border-radius: 50%;
	background: radial-gradient(circle at 30% 28%, #fff 0, rgba(255,255,255,0) 35%), rgb(var(--c));
	box-shadow: inset 0 -2px 3px rgba(0,0,0,.25); transition: filter .25s, opacity .25s;
}
#wc-toggle[aria-pressed="false"] { color: #555; }
#wc-toggle[aria-pressed="false"] .wc-dot { filter: grayscale(1); opacity: .45; }
