body {
	 height: 100%;
	 overflow-y: hidden;
}

/* Top Language Switcher */
.top-language-switcher {
  position: fixed;
  top: 1rem;
  right: 2rem;
  z-index: 1002;
  display: flex;
  gap: 0.5rem;
}

.top-lang-btn {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 0, 0, 0.2);
  color: #333;
  padding: 0.4rem 0.8rem;
  cursor: pointer;
  font-family: 'Pixelify Sans', sans-serif;
  font-size: 0.8rem;
  transition: all 0.3s ease;
  text-transform: uppercase;
  border-radius: 4px;
  backdrop-filter: blur(5px);
}

.top-lang-btn:hover,
.top-lang-btn.active {
  background: rgba(255, 255, 255, 1);
  color: #000;
  border-color: #000;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Hamburger Menu Styles */
.hamburger-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}

.hamburger-menu {
  position: fixed;
  top: 2rem;
  left: 2rem;
  z-index: 1001;
}

.hamburger-btn {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  width: 40px;
  height: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  transition: all 0.3s ease;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.hamburger-btn:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.hamburger-line {
  width: 25px;
  height: 2px;
  background: #000;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.hamburger-btn.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.hamburger-btn.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.hamburger-btn.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

.menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #000;
  transform: translateX(-100%);
  transition: transform 0.4s ease-in-out;
  z-index: 999;
  opacity: 0.95;
}

.menu-overlay.active {
  transform: translateX(0);
}

.menu-content {
  padding: 3rem 2rem 2rem 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  font-family: 'Pixelify Sans', sans-serif;
}

.menu-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 3rem;
  position: relative;
}

.logo-section {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.menu-logo {
  font-size: 3rem;
  color: #d4af37;
  font-weight: bold;
  border: 3px solid #d4af37;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(212, 175, 55, 0.1);
}

.menu-logo-img {
  width: 120px;
  height: auto;
  object-fit: contain;
}

.language-switcher {
  display: flex;
  gap: 0.5rem;
}

.lang-btn {
  background: none;
  border: 1px solid #666;
  color: #666;
  padding: 0.5rem 1rem;
  cursor: pointer;
  font-family: 'Pixelify Sans', sans-serif;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.lang-btn:hover,
.lang-btn.active {
  background: #fff;
  color: #000;
  border-color: #fff;
}

.close-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 2rem;
  cursor: pointer;
  margin-top: 1rem;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease;
}

.close-btn:hover {
  color: #d4af37;
}

.menu-sections {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-top: 2rem;
  justify-content: center;
  align-items: center;
}

.menu-section {
  margin-bottom: 1rem;
  text-align: center;
}

.menu-items {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
}

.menu-item {
  color: #ccc;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.5px;
  line-height: 1.4;
  transition: all 0.3s ease;
  cursor: pointer;
  text-transform: uppercase;
  padding: 0.5rem 1rem;
  border-radius: 8px;
}

.menu-item:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
}

.menu-item.special {
  color: #d4af37;
  border: 2px solid #d4af37;
  padding: 1rem 1.5rem;
  margin-top: 1rem;
  border-radius: 12px;
  font-weight: 600;
}

.menu-item.special:hover {
  color: #000;
  background: #d4af37;
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(212, 175, 55, 0.4);
}

/* Language switcher for mobile */
@media (max-width: 768px) {
  .top-language-switcher {
    top: 0.5rem;
    right: 1rem;
    gap: 0.3rem;
  }
  
  .top-lang-btn {
    padding: 0.3rem 0.6rem;
    font-size: 0.7rem;
  }
  
  .menu-header {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
  }
  
  .logo-section {
    position: static;
    transform: none;
    align-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .close-btn {
    position: absolute;
    top: 0;
    right: 0;
  }
  
  .menu-logo {
    font-size: 2.5rem;
    width: 60px;
    height: 60px;
  }
  
  .menu-logo-img {
    width: 100px;
    height: auto;
  }
}

h1,h2,p {
  font-family: 'Pixelify Sans', sans-serif;
  color: #fff;
}

.serif-jp {
	font-family: 'Noto Serif JP', Georgia, 'Times New Roman', serif;
	font-weight: 700;
	font-size: 1em; /* same size as other slide title text */
	letter-spacing: 0.02em;
	color: #111;
	display: inline-block;
	vertical-align: middle;
}

.serif-tc {
	font-family: 'Noto Serif TC', Georgia, 'Times New Roman', serif;
	font-weight: 700;
	font-size: 1.05em;
	letter-spacing: 0.02em;
	color: #111;
	display: inline-block;
	vertical-align: middle;
}

/* Language-specific typography */
[data-lang="zh-TW"] .multilang {
	font-family: 'Noto Serif TC', 'Pixelify Sans', sans-serif;
}

[data-lang="ja"] .multilang {
	font-family: 'Noto Serif JP', 'Pixelify Sans', sans-serif;
}

[data-lang="en"] .multilang {
	font-family: 'Pixelify Sans', sans-serif;
}

.site-logo {
	display: inline-block;
	vertical-align: middle;
	width: 64%;
	max-width: 720px;
	height: auto;
	margin-top: 0.5rem;
}

@media (min-width: 54em) {
	.site-logo { width: 50%; }
}

/* show hand cursor when hovering key text elements */
h1, h2, .slide__title, .slide__title .title-line span, p, a {
	cursor: pointer;
}
html {
  height: 100%;

}
 .slides-nav {
 	z-index: 99;
 	position: fixed;
 	right: 1rem; /* keep nav visible at the edge */
 	display: flex;
 	align-items: center;
 	height: 100%;
 	color: #111;
}

/* .entrance {
	  background: url(./assets/entrance.jpg) no-repeat center center;
  background-size: cover;
} */
 
 @media (min-width: 54em) {
	 .slides-nav {
		 right: 2%;
	}
}
 .slides-nav__nav {
	 position: relative;
	 right: 0;
	 display: block;
	 font-size: 1em;
	 transform: rotate(90deg);
	 transform-origin: center;
}
 .slides-nav button {
	 position: relative;
	 display: inline-block;
	 padding: 0.35em;
	 margin: 0;
	 /* font-family: "Space Mono", monospace; */
	 appearance: none;
	 background: transparent;
	 border: 0;
	 overflow-x: hidden;
	 transition: color 0.5s ease;
}
 .slides-nav button:after {
	 content: '';
	 position: absolute;
	 top: 50%;
	 left: 0;
	 height: 1px;
	 width: 0;
	 background: #111;
	 transition: width 0.4s ease;
}
 .slides-nav button:hover {
	 cursor: pointer;
	 color: rgba(17, 17, 17, 0.75);
	 transition: color 0.5s ease;
}
 .slides-nav button:hover:after {
	 width: 100%;
	 transition: width 0.4s ease;
}
 .slides-nav button:focus {
	 outline: 0;
}
 .is-sliding .slides-nav {
	 pointer-events: none;
}
 .slides {
	 position: relative;
	 display: block;
	 height: 100vh;
	 width: 100%;
	 background: #fff;
	 transition: background 1s cubic-bezier(0.99, 1, 0.92, 1);
}
 .is-sliding .slides {
	 background: #ededed;
	 transition: background 0.3s cubic-bezier(0.99, 1, 0.92, 1);
}
 .slide {
	 z-index: -1;
	 padding: 0;
	 position: absolute;
	 width: 100%;
	 height: 100vh;
	 transition: z-index 1s ease;
}
 .slide.is-active {
	 z-index: 19;
	 transition: z-index 1s ease;
}
 .slide__content {
	 position: relative;
	 margin: 0 auto;
	 height: 95%;
	 width: 95%;
	 top: 2.5%;
	 animation: none !important;
}
 @media (min-width: 54em) {
	 .slide__content {
		 height: 80%;
		 width: 80%;
		 top: 10%;
	}
}
 .slide__header {
	 z-index: 9;
	 position: relative;
	 height: 100%;
	 display: flex;
	 align-items: center;
	 overflow-y: hidden;
	 transform: translateX(5%);
}
 @media (min-width: 54em) {
	 .slide__header {
		 transform: translateX(-5%);
	}
}
 .slide__title {
	 /* font-family: Montserrat, helvetica; */
	 font-size: 2.5em;
	 font-weight: 700;
	 color: #111;
	 overflow-y: hidden;
}
 @media (min-width: 54em) {
	 .slide__title {
		 font-size: 5em;
	}
}
 .slide__title .title-line {
	 display: block;
	 overflow-y: hidden;
}
 .slide__title .title-line span {
	 display: inline-block;
	 transform: translate3d(0, 140%, 0);
	 opacity: 0;
	 transition: transform 0.4s ease, opacity 0.8s ease;
}
 .slide__title .title-line span:nth-child(1) {
	 transition-delay: 0.15s;
}
 .slide__title .title-line span:nth-child(2) {
	 transition-delay: 0.3s;
}
 .is-active .slide__title .title-line span {
	 transform: translate3d(0, 0%, 0);
	 opacity: 1;
	 transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.1s ease;
}
 .is-active .slide__title .title-line:nth-of-type(2n) span {
	 transition-delay: 0.2s;
}
 .slide__figure {
	 z-index: 7;
	 position: absolute;
	 left: 0;
	 right: 0;
	 margin: 0 auto;
	 height: 100%;
	 width: 100%;
	 transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
 .is-sliding .slide__figure {
	 transform: scale(0.8);
	 transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
 .slide__img {
	 position: relative;
	 display: block;
	 background-size: cover;
	 /* background-attachment: fixed can cause issues on mobile; use scroll for better compatibility */
	 background-attachment: scroll;
	 background-position: 50%;
	 -webkit-backface-visibility: hidden;
	 backface-visibility: hidden;
	 height: 0%;
	 width: 100%;
	 filter: grayscale(0%);
	 transition: height 1s 1.4s cubic-bezier(0.19, 1, 0.22, 1), filter 0.4s 0.1s ease;
}
 .is-active .slide__img {
	 height: 100%;
	 opacity: 1;
	 transition: height 0.5s 0.3s cubic-bezier(0.77, 0, 0.175, 1), filter 0.4s 0.1s ease;
}
 .is-sliding .slide__img {
	 filter: grayscale(100%);
}
 

/* 復古效果 retro effect */
/* Nintendoid font from https://www.splintered.co.uk/experiments/132/ */

@font-face {
  font-family: 'Nintendoid1';
  font-style: normal;
  font-weight: 400;
  src:  url(data:font/ttf;base64,d09GMgABAAAAAApIAAoAAAAAMCAAAAn8AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAhkQKulCoWAuDcAABNgIkA4NsBCAFlAUHIBuGJKOQbi5O1ihK9OQ72X85oIfY2gK+CyxFiCisUzncw9oyGDFOlihbz7T+bP393qOyeipby7N3hogwAsT53ornv9+P33qCS+J/z7hPlwyVSra7I5EGVVQSjQzTKYl0CIvF3CQ3PMIqlERZWoK2eakIH5I+IliapSjCwhZaWSnX76v7lGTHP1+W7J+79JrXlwLi2PmAsbgDz5147dwRcAKc1sK2LSK9aapt0zDbCW6Xny596331gUUkvpAfAoxETUPmIYX13Y4cPB0LAPyvaT97+1u9O6r6M6HfoBCuCYPHolDIu333spO87G8tv/FLC73sJpkhCb14UM3SXasS7dEIjfzaIZSEh/wbHySQ/2cJJG0t9CzQCNu6ylMLLJWSUNtEXW+XS1jp2iakRlWFq3N0xg8hP7tY45+qHy5xwwLXK+gVPTv8hhEQBiwFOH323BlHTU5ND4EhgikYMgSToMeA9Qahe2bsbmHepNHLx213PfDYU8+989FXP/2dzCe3TE5P7p98NjVdhUnIhu6zzWX7/tez/tV//dWvvte3+lrv6229qud1wX+7d2x96beg9txUSH4WAODmIYD/wC/SH9WvLq2VJ0Sd1Y2UwkUJjNKIkTTQKPakmQScM9osg+DpxEqb3uwROKmqRKMXXbu2YqlMA9ujItaqtzlrixCkLF0tt3luWDZzHGpxXpfWXitlKsKFSNjkrEeIZZsGV1ewZ5HvqBVp0TrX9Erp3OYPWueKgkXhzEr70fxii2u/z5blFklHYBhBoGP0lXzv4De4uMwpKrSntkcl33vjBAydMnpkNEFlgKUrxliAod3oQlA5KKW5oISyrb7PA2qrDSeHZ1xbwWQjBTBo4wYelA2Xe34eaZ+hrV2B22hETjC1fO0JUzQdQwfwIeUhx/MzOjGKG1USGnkMHWbpJBqPnSYlhrSGeTF3UA1tSUf5MmNKvB1wClimfQIyoGhdhYmI83J1QpwVzBB/4oQMrMvgul2trCZ4v2AyCGi8BYVa/eXEg4KLpKK2C8gy1tyTNprozSwSUZJONnDDU+qtKNTJVIZiLhoXIq3UjbI43QLzDupOhYS85rJZyxmeI8hRCyqIJq53GSExkli0k7h8YzCKYiOsyMibOr0DgtkTI+SzPcG1c5ngkQYE0KMkIlc16MfYCN4wim1dBO/IQpwbGnvKTCNwArqAGlOLFe9t55iHlwcrLaezYaNkjkbHAAgUxBZCiyztLtqz4HGidoZCzGf4ZZFx10JiW8W4mWHFVzc0i+QUJxjALjaBB0XFsYidYWQjj6RYoccX65Vsq6jTHkrpISdKTDuMEgv/BE/Iy4W5xfjVTLGMdpCwhWMoyresRQEzL9IniooRJgixM1BFoWWPxNIHertfRjNxNvcaM30xDMr1xqOCjPoqRHHBLOQNNoJ6ggcug0ntcgIwCQNSty9HTzooKEFleBK2hQ7rPcEHldQq8sQ2IszjIdZJaw7raTBve6yukbxRvGueCB1VKE8wCcobHUYakFoVS6xWzQQgQfkpDRsSZGpP2/zq1DO116ezZhlNIDuoB1NUNOEz9RQle0vUz86lo5YIWTsEV+O7KFGV7120bJh6qWGef0XfXvNY9x8vyx/l23+KHjz0608k7N96KYlEqiJaRRJRLUk1SZIEwahuZWrSYblVol2tTWBVE1Tp4qIy0tlU9grwpiTnIuc/dvBWHCdlrgjgHFkzO8LlLaK9tZBopTIhZhGZdjGJaGKNxJBJ0XF6NqWaclNtysr0ks4n2CoRs2YxnCs4yCOCV+aipBRgkc5QkrSTPgqGR7G0/YxIg591IBiPj04CnPx9AG+1IGs2UwwpQlj8mogXmdK6nFAJQm1Oo9Fjr4oSdbFIGAnMszMrA1RBgHIhLoG4hn48F1NVahIWx8FalGILaLISKIsQThjdzA+HSzVcSUKvubhK6LGCWB8WtRUjd/DPMFr1m7igjaqc5rZvZN1x2shNwmQJc1ffrH1Ta/BaD5faMiEhDPW+/JJqdRxqURWyZtfZ8N7eXQAuE1QhB+TxnkGpW18QVZBlJaNMNVgLBdfyutZ/C+mU6xZ3ko75yZBFXcG3eIoDbe4cq+46y2TB9yjiTFQdJSheCuXb7qfu5JNfp26ev7Dq4Hfgz/80uqyMFixW8KNDKoyBke7/lMsxjOh0PUqmzHpEIhEyMqpN6PFelSHpKnIOWPZliD+53pc5kvNrqdrWocg0OSxJv6PDZTutAOmk3diSWzpzCWaQKJGKPYz1DrNylyW8bo4YU3HBklSD16rUR5zG+0lc7BaqbJ9gf6+Xenv76gaCtN8MXhUAzvTfD6iYImE7GYd2nLVnQxINu8sp9lTFNd9IHbjDqjZcD+6zsRA3to468zwWtO9rqdf8GyUegQC19wfTdr7+V5TdG2YfsXTucLmE9YaYdiSysPOSJfzJEujjcdsuEbBoSsbVcE+mjXZqXry1g1bf6z5su+SHJY9ef9zBQr7ftM9WyImbQd/uGmJdK/HysGlVX+vY//Xo+Sdfn6pyzc2THc/Vd0M6AW+Fx+zCnfdkXOEsPF99QCabwwHegBFwwN7jsPba9mK+0VjdKQ42+sIeWLBNHrYDw46Ur9Y58RROMR2EkvLHvhz0JT6QQ7xUNCc+Yel6iw08+3fD28Dh3/ZC3o773ivbdMVjTMLGZ/j0B8Xmf3y1+meelLcyzwWT/D7Je9Xh7EyN3j7pu392dlDHHSjVp/fAlcq92DFHsNEeN5YfzUpXtVez7TM/pMl/xBDYjemNSzeGmhna1Eu4eue4OP3L5ez52f6L6XeGlQvJqMqIFwjwComMGB3wCBUdB+zatmPXMxIJJ7ISYoEd7xyv6KHsWhKJDyIrDAG4cEVJQHjkNydjpCkmd25sa7YVwv3vTBhAQGTIcgYo64BkBlz7cAfQFIQaBHdO3CyeF1n8GuqBGwPtViDE6JSizPBRZvAsG0YyUGJfVWwI8p1RgDnEgFaQnuSfnogAvPYmLjnZmPecDLIMM8Nk9MQ6bRiDCiQGHqTmxGCQCQUx0UMMEFlCkHdd+QCeywYJwuMgiyIot+cnpvjE0hSdrj3zRDU2cgvm2DjxIhdG6rkDHfiXBj36sYMVo/cQdPCZy5ibJWw6aJVguEFRcipupmfTXkGsjH6QdZBxPBio3SWHIBSASJBMkWVgsANZ1hNCd0AFkEgvBzAeNCjWyDR2ZMjEI/CGcFMVhHwqE0cSsCKSwUQNENhzFsiGBABoEQf3qzGJ8GALxtn7mcKCZE45dNR7un27lBj7qZ8cFzLH8fSXK124kAOZB85ItotoJfVhm2QI4iaxGu1lnooZZlgkd76vVil71c6wcs3A1Ugm748CI8cUji2XjoKaC1pJb97G2NxaaKaPtc6d2fdyvt+Owbr2pmb2AA==) format('woff2');
}
html {
	background: transparent;
	padding: 0;
	height: 100%;
}
/* Ensure full-bleed layout with no viewport frame */
body {
	margin: 0;
	height: 100%;
	background: #fff; /* keep slide background visible */
	overflow: hidden; /* slider manages scroll */
	font-family: Nintendoid1, 'Pixelify Sans', sans-serif;
	color: #111;
}
h1 { font-size: 5em; }

@keyframes textflicker {
  from {
    text-shadow: 1px 0 0 #ea36af, -2px 0 0 #75fa69;
  }
  to {
    text-shadow: 2px 0.5px 2px #ea36af, -1px -0.5px 2px #75fa69;
  }
}

/* Chromatic text shadow + very short flicker to emulate CRT color bleed */
.slide__title,
.slide__title .title-line span,
.serif-jp {
	/* user-specified chromatic shadow + very rapid flicker */
	text-shadow: 0.06rem 0 0.06rem #ea36af, -0.125rem 0 0.06rem #75fa69;
	letter-spacing: 0.125em;
	animation-duration: 0.01s;
	animation-name: textflicker;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

@media (prefers-reduced-motion: reduce) {
	.slide__title, .slide__title .title-line span, .serif-jp { animation: none !important; }
}

/* CRT overlay: scanlines, flicker and subtle jitter */
.crt-overlay {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 9998; /* below click effects but above background */
	mix-blend-mode: multiply;
}

.crt-overlay:before {
	/* scanlines */
	content: '';
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(0,0,0,0.03) 50%, rgba(255,255,255,0.02) 50%);
	background-size: 100% 3px; /* thin lines */
	opacity: 0.55;
}

.crt-overlay:after {
	/* faint vignette / chromatic fringe feel */
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, rgba(255,255,255,0) 50%, rgba(0,0,0,0.06) 100%);
	mix-blend-mode: multiply;
	opacity: 0.6;
}

@keyframes crt-flicker {
	0% { opacity: 0.95; transform: translate3d(0,0,0); }
	50% { opacity: 0.88; }
	100% { opacity: 0.96; }
}

@keyframes crt-jitter {
	0% { transform: translate3d(0,0,0); }
	25% { transform: translate3d(-0.6px, 0.4px, 0); }
	50% { transform: translate3d(0.4px, -0.5px, 0); }
	75% { transform: translate3d(-0.2px, 0.3px, 0); }
	100% { transform: translate3d(0,0,0); }
}

.crt-active .crt-overlay:before,
.crt-active .crt-overlay:after {
	animation: crt-flicker 3s infinite linear;
}

.crt-active .slides {
	/* jitter disabled — keep flicker only */
	animation: none;
}

@media (prefers-reduced-motion: reduce) {
	.crt-overlay:before, .crt-overlay:after, .crt-active .slides { animation: none !important; }
}

/* Click effect: ring + particles (CodePen-like) */
.click-ring {
	position: fixed;
	pointer-events: none;
	left: 0; top: 0;
	width: 20px; height: 20px;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0);
	border: 2px solid rgba(255,255,255,0.12);
	box-shadow: 0 0 0 2px rgba(234,54,175,0.06), 0 0 0 4px rgba(117,250,105,0.04);
	z-index: 9999;
	animation: click-ring-expand 0.65s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

@keyframes click-ring-expand {
	to { transform: translate(-50%, -50%) scale(40); opacity: 0; }
}

.click-particle {
	position: fixed;
	left: 0; top: 0;
	width: 8px; height: 8px;
	border-radius: 2px;
	z-index: 9999;
	pointer-events: none;
	background: rgba(255,255,255,0.9);
	box-shadow: 0 0 0 1px rgba(234,54,175,0.4), 0 0 0 2px rgba(117,250,105,0.25);
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.click-ring, .click-particle { display: none !important; }
}