@keyframes twinkle{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%{text-shadow:0 0 20px #ff69b4,0 0 40px #ff69b4}to{text-shadow:0 0 30px gold,0 0 60px gold}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Fredoka",sans-serif;background:linear-gradient(135deg,#1a0533 0,#2d1b4e 50%,#1a0533 100%);min-height:100vh;color:#fff;overflow-x:hidden}.stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 90px 40px,#fff,transparent),radial-gradient(2px 2px at 160px 120px,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 230px 80px,#fff,transparent),radial-gradient(2px 2px at 300px 150px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 350px 200px,#fff,transparent),radial-gradient(2px 2px at 420px 50px,rgba(255,255,255,.8),transparent);background-size:500px 300px;animation:twinkle 5s ease-in-out infinite}.container{max-width:800px;margin:0 auto;padding:20px;text-align:center}h1{font-size:2.5rem;margin-bottom:10px;text-shadow:0 0 20px #ff69b4,0 0 40px #ff69b4;animation:glow 2s ease-in-out infinite alternate;display:flex;align-items:center;justify-content:center;gap:10px}.title-icon{width:50px;height:50px}.subtitle{font-size:1.2rem;color:#e0b0ff;margin-bottom:30px}.globe-container{position:relative;margin:20px auto}#globe{width:350px;height:350px;margin:0 auto;cursor:grab}#globe:active{cursor:grabbing}.teeth-counter{background:rgba(255,255,255,.15);border-radius:20px;padding:15px 25px;margin:15px auto;display:inline-block;backdrop-filter:blur(5px)}.counter-label,input,select{font-size:1rem;color:#e0b0ff}.counter-value{font-size:1.8rem;color:gold;font-weight:700;margin-left:10px;text-shadow:0 0 10px rgba(255,215,0,.5)}.fairy-status{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px}.pulse{width:12px;height:12px;background:#7fff00;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.location{font-size:1.5rem;color:gold;margin-top:10px;min-height:2rem}.drop-pin-section{margin-top:50px;background:rgba(255,255,255,.1);border-radius:20px;padding:30px;backdrop-filter:blur(10px)}.drop-pin-section h2{margin-bottom:20px;color:#ffb6c1}#pin-form{display:flex;flex-direction:column;gap:15px;max-width:300px;margin:0 auto}input,select{padding:12px 20px;border:0;border-radius:25px;font-family:inherit;background:rgba(255,255,255,.9);color:#333}.location-input-wrapper{position:relative;width:100%}.suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:15px;margin-top:5px;max-height:200px;overflow-y:auto;box-shadow:0 4px 15px rgba(0,0,0,.2);z-index:100}.suggestion-item{padding:12px 20px;cursor:pointer;color:#333;text-align:left;border-bottom:1px solid #eee}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:#fff0f5}.suggestion-item .city-name{font-weight:700}.suggestion-item .country-name{font-size:.85rem;color:#666}.input-hint{display:block;font-size:.75rem;color:#b8a9c9;margin-top:-10px;margin-bottom:5px}input::placeholder{color:#888}input:focus{outline:3px solid #ff69b4}button{padding:15px 30px;border:0;border-radius:25px;font-size:1.1rem;font-family:inherit;background:linear-gradient(135deg,#ff69b4,gold);color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s;font-weight:700}button:hover{transform:scale(1.05);box-shadow:0 0 30px rgba(255,105,180,.6)}#confirmation{margin-top:20px;padding:20px;background:rgba(127,255,0,.2);border-radius:15px;animation:fadeIn .5s ease-in;transition:box-shadow .3s ease}#confirmation.highlight{box-shadow:0 0 30px rgba(255,215,0,.8),0 0 60px rgba(255,105,180,.5)}#confirmation .fairy-message{font-size:1.3rem;color:gold;margin:15px 0}.hidden{display:none}.honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}@media (max-width:500px){h1{font-size:1.4rem;flex-wrap:nowrap;white-space:nowrap}.subtitle{font-size:1rem}#globe{width:280px;height:280px}.teeth-counter{padding:12px 18px}.counter-label{font-size:.9rem}.counter-value{font-size:1.4rem}.drop-pin-section h2,.location{font-size:1.2rem}.drop-pin-section{padding:20px 15px;margin-top:30px}button,input{font-size:.95rem;padding:10px 16px}button{padding:12px 24px}}@media (max-width:350px){h1{font-size:1.1rem}#globe{width:240px;height:240px}.container{padding:15px 10px}}.privacy-notice{margin-top:20px;line-height:1.4;font-size:.85rem;color:#b8a9c9;margin-bottom:20px;padding:10px 15px;background:rgba(255,255,255,.05);border-radius:10px}.site-footer a{color:#b8a9c9;text-decoration:none}.site-footer a:hover{color:#e0b0ff;text-decoration:underline}.site-footer{margin-top:60px;padding:20px;text-align:center;font-size:.8rem;color:#8a7a9a}.attribution{margin-bottom:10px}.legal-notice{max-width:600px;margin:0 auto;line-height:1.5}.certificate-section{margin-top:25px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.certificate-section p{margin-bottom:15px;color:#e0b0ff}.cert-button{background:linear-gradient(135deg,#9b59b6,#3498db);padding:15px 30px;font-size:1.1rem;margin-top:10px}.cert-button:hover{box-shadow:0 0 30px rgba(155,89,182,.6)}.cert-button:disabled{opacity:.7;cursor:wait;transform:none}.cert-status,.tooth-tales-teaser{margin-top:15px;padding:15px;background:rgba(255,255,255,.1);border-radius:10px}.cert-status .fairy-message{font-size:1.1rem;color:gold}.tooth-tales-teaser{margin-top:50px;border-radius:20px;padding:30px;backdrop-filter:blur(10px);text-align:center}.tooth-tales-teaser h2{color:#ffb6c1;margin-bottom:20px}.tale-card{background:rgba(255,255,255,.1);border-radius:15px;padding:20px;margin:20px 0;min-height:80px;display:flex;align-items:center;gap:15px}.tale-flag{font-size:2.5rem;flex-shrink:0}.tale-text{color:#e0b0ff;font-size:1rem;line-height:1.5;text-align:left}.explore-link{display:inline-block;margin-top:15px;color:gold;text-decoration:none;font-weight:500;transition:color .2s}.explore-link:hover{color:#ff69b4;text-decoration:underline}.tales-page{padding-top:30px}.back-link,.tale-content p{color:#e0b0ff;margin-bottom:20px}.back-link{display:inline-block;text-decoration:none;font-size:.95rem}.back-link:hover{color:gold}.flag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100px,30vw),1fr));gap:clamp(6px,2vw,15px);margin:30px 0}.flag-btn{background:rgba(255,255,255,.1);border:2px solid transparent;border-radius:15px;padding:clamp(8px,2vw,15px) clamp(6px,1.5vw,10px);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px}.flag-btn:hover{background:rgba(255,255,255,.2);border-color:gold;transform:scale(1.05)}.flag-emoji{font-size:clamp(1.6rem,5vw,2.5rem)}.flag-country{font-size:clamp(.6rem,2vw,.8rem);color:#e0b0ff;text-align:center}.tale-display{background:rgba(255,255,255,.15);border-radius:20px;padding:clamp(15px,4vw,30px);margin-top:30px;position:relative;backdrop-filter:blur(10px);animation:fadeIn .3s ease-out}.close-tale{position:absolute;top:15px;right:15px;background:rgba(255,255,255,.2);border:0;color:#fff;font-size:1.5rem;width:35px;height:35px;border-radius:50%;cursor:pointer;padding:0;line-height:1}.close-tale:hover{background:rgba(255,105,180,.5)}.tale-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.tale-flag-large{font-size:clamp(2rem,6vw,3.5rem)}.tale-header h2{color:gold;font-size:clamp(1.1rem,3vw,1.5rem)}.tale-content h3{color:#ff69b4;margin-bottom:15px;font-size:clamp(1rem,2.5vw,1.2rem)}.tale-content p{line-height:1.7;font-size:clamp(.9rem,2.2vw,1rem)}.fun-facts{background:rgba(255,215,0,.1);border-radius:15px;padding:20px}.fun-facts h4{color:gold;margin-bottom:15px}.fun-facts ul{list-style:none;padding:0}.fun-facts li{color:#e0b0ff;padding:8px 0 8px 25px;position:relative}.fun-facts li::before{content:"🦷";position:absolute;left:0}@media (max-width:500px){.tale-header{text-align:center;gap:10px}.tale-card,.tale-header{flex-direction:column}.tale-card,.tale-content h3,.tale-text{text-align:center}}.contribute-banner{background:linear-gradient(135deg,rgba(255,105,180,.2),rgba(255,215,0,.2));border:2px dashed rgba(255,215,0,.5);border-radius:15px;padding:20px;margin:30px 0;text-align:center}.contribute-banner p{color:#e0b0ff;margin-bottom:10px;font-size:1.1rem}.contribute-link{display:inline-block;color:gold;text-decoration:none;font-weight:500;padding:8px 20px;background:rgba(255,215,0,.15);border-radius:20px;transition:all .2s}.contribute-link:hover{background:rgba(255,215,0,.3);color:#fff}.welcome-message{margin-top:20px;padding:20px;border-radius:15px;text-align:center;animation:fadeIn .5s ease-in}.welcome-back,.welcome-message{background:linear-gradient(135deg,rgba(255,215,0,.3),rgba(255,105,180,.2));border:2px solid rgba(255,215,0,.5)}.welcome-back-title{font-size:clamp(1.3rem,4vw,1.8rem);color:gold;margin-bottom:15px;animation:glow 2s ease-in-out infinite alternate}.welcome-note{margin-top:15px;font-style:italic;color:#e0b0ff}