/* prototype.moe */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #0a1a1a; color: #e0e0e0; font-family: 'Inter', sans-serif; font-weight: 400; line-height: 1.7; }
.hello { text-align: center; padding: 8rem 2rem 5rem; position: relative; overflow: hidden; }
.float-circle { position: absolute; border-radius: 50%; border: 1px solid #333; }
.c1 { width: 80px; height: 80px; top: 15%; left: 15%; background: rgba(244, 114, 182, 0.1); }
.c2 { width: 60px; height: 60px; top: 30%; right: 20%; background: rgba(167, 139, 250, 0.1); }
.c3 { width: 40px; height: 40px; bottom: 25%; left: 40%; background: rgba(244, 114, 182, 0.1); }
.brand { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: clamp(2rem, 5vw, 3rem); color: #f472b6; text-shadow: 0 0 10px rgba(244, 114, 182, 0.4), 0 0 30px rgba(244, 114, 182, 0.2); position: relative; z-index: 1; }
.moe-label { font-size: 0.5em; color: #f472b6; opacity: 0.6; }
.coord { font-family: 'Fira Code', monospace; font-size: 0.55rem; color: #666666; display: block; margin-top: 1rem; }
.play { max-width: 500px; margin: 0 auto; padding: 3rem 2rem; }
.bubbles { display: flex; justify-content: center; gap: 1.5rem; flex-wrap: wrap; }
.bubble { border-radius: 50%; border: 1px solid #333; display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease; cursor: default; }
.bubble:hover { transform: scale(1.2); }
.pink-bubble { width: 150px; height: 150px; background: rgba(244, 114, 182, 0.15); }
.purple-bubble { width: 150px; height: 150px; background: rgba(167, 139, 250, 0.15); }
.bubble.small { width: 100px; height: 100px; }
.bubble-text { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 0.8rem; }
.trail-dots { position: relative; height: 40px; margin-top: 2rem; }
.trail-dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, #f472b6, #a78bfa); top: 50%; transform: translateY(-50%); }
.gallery { max-width: 500px; margin: 0 auto; padding: 3rem 2rem; text-align: center; }
.gallery-title { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 1.2rem; margin-bottom: 1.5rem; }
.micro-grid { display: flex; justify-content: center; gap: 1.5rem; }
.micro-square { width: 60px; height: 60px; background: linear-gradient(135deg, #f472b6, #a78bfa); border-radius: 4px; }
.micro-square.spin { animation: spin 3s linear infinite; }
.micro-square.pulse-anim { animation: pulse-sq 1.5s ease infinite; }
.micro-square.bounce { animation: bounce-sq 1s ease infinite; }
.micro-square.fade-cycle { animation: fade-sq 2s ease infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes pulse-sq { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.15); } }
@keyframes bounce-sq { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes fade-sq { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
.bye { text-align: center; padding: 4rem 2rem 5rem; }
.bye-text { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 1rem; color: #f472b6; opacity: 0.4; }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
