:root{--background: #ffffff;--foreground: #0a0a0a;--muted: #f4f4f5;--muted-foreground: #71717a;--border: #e4e4e7;--ring: #18181b;--radius: .5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;width:100%;overflow:hidden}body{font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.custom-marker{width:32px;height:32px;cursor:pointer;transition:transform .15s ease}.custom-marker:hover{transform:scale(1.1)}.marker-pin{width:100%;height:100%;background:var(--foreground);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);border:2px solid var(--background)}.marker-pin:after{content:"";width:10px;height:10px;background:var(--background);border-radius:50%;transform:rotate(45deg)}.marker-active .marker-pin{background:#18181b;transform:rotate(-45deg) scale(1.15)}.marker-visited .marker-pin{background:#a78bfa;opacity:.7}.marker-visited.marker-active .marker-pin{background:#8b5cf6;opacity:1}.mapboxgl-ctrl-group{border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;border:1px solid var(--border)!important;overflow:hidden}.mapboxgl-ctrl-group button{border:none!important;border-bottom:1px solid var(--border)!important}.mapboxgl-ctrl-group button:last-child{border-bottom:none!important}.mapboxgl-ctrl-attrib{font-family:Geist,sans-serif!important;font-size:11px!important}@keyframes popup-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.popup-enter{animation:popup-enter .2s ease-out}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.map-container[data-v-140478ca]{width:100%;height:100%}.popup-overlay[data-v-014ca670]{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:16px;pointer-events:none}@media(min-width:640px){.popup-overlay[data-v-014ca670]{align-items:center}}.popup-card[data-v-014ca670]{pointer-events:auto;background:var(--background);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border);width:100%;max-width:380px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}@media(min-width:640px){.popup-card[data-v-014ca670]{max-height:500px}}.popup-header[data-v-014ca670]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0;gap:12px}.popup-title-row[data-v-014ca670]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.popup-title[data-v-014ca670]{font-size:16px;font-weight:600;color:var(--foreground);margin:0;line-height:1.4}.gmaps-link[data-v-014ca670]{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--muted-foreground);text-decoration:none;padding:4px 8px;border-radius:calc(var(--radius) - 2px);transition:all .15s ease;white-space:nowrap;flex-shrink:0}.gmaps-link[data-v-014ca670]:hover{background:var(--muted);color:var(--foreground)}.gmaps-link svg[data-v-014ca670]{flex-shrink:0}.close-btn[data-v-014ca670]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;border-radius:calc(var(--radius) - 2px);transition:all .15s ease;flex-shrink:0}.close-btn[data-v-014ca670]:hover{background:var(--muted);color:var(--foreground)}.popup-content[data-v-014ca670]{flex:1;overflow-y:auto;padding:12px}.tracks-list[data-v-014ca670]{display:flex;flex-direction:column;gap:8px}.track-item[data-v-014ca670]{border-radius:calc(var(--radius) - 2px);overflow:hidden}.spotify-embed[data-v-014ca670]{display:block;border-radius:calc(var(--radius) - 2px)}@keyframes stars-drift{0%{background-position:0 0}to{background-position:200px 400px}}@keyframes menu-fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes title-glow{0%,to{text-shadow:0 0 40px rgba(138,43,226,.5),0 0 80px rgba(138,43,226,.3)}50%{text-shadow:0 0 60px rgba(138,43,226,.7),0 0 100px rgba(138,43,226,.5)}}@keyframes hint-pulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-8px)}80%{transform:translate(8px)}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes secondary-glow{0%,to{box-shadow:var(--shadow-md),0 0 20px #22c55e4d}50%{box-shadow:var(--shadow-md),0 0 30px #22c55e80}}@keyframes lock-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes hints-expand{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes found-pulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 10px #22c55e00}}@keyframes quest-glow{0%,to{box-shadow:0 2px 8px #e9456033}50%{box-shadow:0 2px 16px #e9456066}}@keyframes completed-glow{0%,to{box-shadow:0 2px 8px #1db95433}50%{box-shadow:0 2px 16px #1db95466}}@keyframes unlock-pulse{0%{transform:scale(1);box-shadow:0 0 #1db954b3}50%{transform:scale(1.1);box-shadow:0 0 0 15px #1db95400}to{transform:scale(1);box-shadow:var(--shadow-md)}}@keyframes quest-appear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes snowfall{0%{transform:translateY(0) translate(0) rotate(0)}25%{transform:translateY(25vh) translate(10px) rotate(90deg)}50%{transform:translateY(50vh) translate(-10px) rotate(180deg)}75%{transform:translateY(75vh) translate(15px) rotate(270deg)}to{transform:translateY(100vh) translate(-5px) rotate(360deg)}}.menu-fade-enter-active,.menu-fade-leave-active{transition:opacity .5s ease}.menu-fade-enter-from,.menu-fade-leave-to{opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.menu-screen{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);overflow-y:auto;overflow-x:hidden;padding:32px 0}.menu-screen-stars{position:fixed;inset:0;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.15),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.1),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.2),transparent),radial-gradient(2px 2px at 130px 80px,rgba(255,255,255,.1),transparent),radial-gradient(1px 1px at 160px 120px,rgba(255,255,255,.15),transparent);background-size:200px 200px;animation:stars-drift 60s linear infinite;pointer-events:none}.menu-screen-vignette{position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.4) 100%);pointer-events:none}.menu-snow{position:absolute;inset:0;pointer-events:none}.menu-content{display:flex;flex-direction:column;align-items:center;gap:32px;padding:24px;z-index:1;animation:menu-fade-in 1s ease-out;width:100%;max-width:1200px;flex-shrink:0;margin:auto 0}@media(min-width:900px){.menu-content{flex-direction:row;align-items:stretch;justify-content:center;gap:48px;padding:48px}}.menu-panel{display:flex;flex-direction:column;gap:20px}.menu-panel-left{flex:1;max-width:450px}.menu-panel-right{flex:1;max-width:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.panel-header{margin-bottom:8px}.panel-label{font-family:Geist,sans-serif;font-size:11px;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:2px}.start-section{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.menu-header{text-align:center}.menu-subtitle{display:block;font-family:Geist,sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:2px;letter-spacing:3px;color:#ffffff80;margin-bottom:12px}.menu-title{font-family:Geist,sans-serif;font-size:clamp(36px,8vw,64px);font-weight:700;color:#fff;margin:0;text-shadow:0 0 40px rgba(138,43,226,.5),0 0 80px rgba(138,43,226,.3);animation:title-glow 3s ease-in-out infinite}.menu-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:20px;width:100%;box-sizing:border-box}.menu-card-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.menu-card-icon{font-size:24px}.menu-card-type{font-family:Geist,sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;color:#a855f7}.menu-card-content{margin-bottom:20px}.menu-card-content p{font-family:Geist,sans-serif;font-size:14px;line-height:1.7;color:#ffffffb3;margin:0 0 12px}.menu-card-content p:last-child{margin-bottom:0}.menu-card-objective{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#a855f726;border-radius:8px;margin-bottom:16px}.menu-card-objective span:last-child{font-family:Geist,sans-serif;font-size:13px;font-weight:500;color:#fff}.objective-icon{font-size:16px}.menu-card-progress{padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.menu-card-progress .progress-bar-bg{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.menu-card-progress .progress-bar-fill{height:100%;background:linear-gradient(135deg,#a855f7,#d946ef);border-radius:3px;transition:width .5s ease}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-family:Geist,sans-serif;font-size:12px;color:#ffffff80}.password-section{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:280px}.password-input-wrapper{width:100%;position:relative}.password-input-wrapper.error .password-input{border-color:#ef444499;animation:shake .4s ease}.password-input{width:100%;padding:14px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50px;color:#fff;font-family:Geist,sans-serif;font-size:16px;text-align:center;outline:none;transition:all .3s ease;box-sizing:border-box}.password-input::placeholder{color:#ffffff4d}.password-input:focus{border-color:#a855f799;background:#ffffff26;box-shadow:0 0 20px #a855f74d}.password-error{font-family:Geist,sans-serif;font-size:13px;color:#ef4444;margin:0}.menu-start-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 40px;background:linear-gradient(135deg,#a855f7,#d946ef);color:#fff;font-family:Geist,sans-serif;font-size:16px;font-weight:600;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #a855f766}.menu-start-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #a855f799}.menu-start-btn:hover svg{transform:translate(4px)}.menu-start-btn:active{transform:translateY(-1px)}.menu-start-btn svg{transition:transform .3s ease}.menu-hint{font-family:Geist,sans-serif;font-size:12px;color:#ffffff4d;margin:0;animation:hint-pulse 2s ease-in-out infinite}.menu-footer{margin-top:auto;padding-top:24px;font-family:Geist,sans-serif;font-size:12px;color:#ffffff4d;z-index:1;flex-shrink:0}.locked-section{text-align:center}.primary-countdown-display{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 0}.primary-countdown-display .locked-icon-large{font-size:48px;animation:lock-pulse 2s ease-in-out infinite}.primary-countdown-display .locked-title{font-family:Geist,sans-serif;font-size:20px;font-weight:600;color:#fff;margin:0}.primary-countdown-display .locked-description{font-family:Geist,sans-serif;font-size:14px;color:#ffffffb3;margin:0}.primary-countdown-display .locked-hint{font-family:Geist,sans-serif;font-size:13px;color:#ffffff80;font-style:italic;margin:0}.primary-countdown{background:#a855f71a;border:1px solid rgba(168,85,247,.2)}.primary-countdown .countdown-label{color:#a855f7}.secondary-quest-card{cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.secondary-quest-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #22c55e4d}.secondary-quest-card.quest-locked{opacity:.85}.secondary-quest-card .menu-card-type.secondary{color:#22c55e}.secondary-quest-card.quest-found .menu-card-type.secondary{color:#f59e0b}.quest-unlock-time{margin-left:auto;display:flex;align-items:center;gap:6px;font-family:Geist,sans-serif;font-size:11px;color:#ffffffb3;background:#ffffff1a;padding:4px 10px;border-radius:12px}.countdown-icon{font-size:12px}.countdown-value{font-family:Geist,monospace;font-weight:600;letter-spacing:.5px}.secondary-quest-title h3{font-family:Geist,sans-serif;font-size:16px;font-weight:600;color:#fff;margin:0 0 8px}.secondary-quest-teaser{font-family:Geist,sans-serif;font-size:13px;color:#ffffffb3;margin:0}.secondary-quest-teaser.found{color:#f59e0b}.secondary-quest-locked-content{position:relative}.secondary-quest-locked-content p{font-family:Geist,sans-serif;font-size:13px;color:#ffffff4d;font-style:italic;margin:0}.locked-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 3s infinite}.quest-btn-secondary{position:fixed;top:80px;left:16px;z-index:100;display:flex;align-items:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#065f46,#059669);color:#fff;font-family:Geist,sans-serif;font-size:14px;font-weight:500;text-decoration:none;border-radius:var(--radius);box-shadow:var(--shadow-md),0 0 20px #22c55e4d;transition:all .3s ease;cursor:pointer;border:none;animation:secondary-glow 2s ease-in-out infinite}.quest-btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 40px #22c55e80}.quest-btn-secondary.completed{background:linear-gradient(135deg,#b45309,#f59e0b);animation:none;box-shadow:var(--shadow-md),0 0 20px #f59e0b4d}.quest-btn-secondary .secondary-icon{font-size:16px}.quest-btn-secondary .quest-label.secondary-label{font-size:10px;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;opacity:.8}.countdown-subtitle{display:flex;align-items:center;gap:4px}.countdown-timer{font-family:Geist,monospace;font-size:11px;font-weight:600;color:#ffffffe6;letter-spacing:.5px}.secondary-overlay{background:#00140ae6}.secondary-modal{border-color:#22c55e4d}.secondary-modal .quest-header{border-bottom-color:#22c55e33}.secondary-modal.quest-completed .quest-type.secondary-type{color:#f59e0b}.quest-type.secondary-type{color:#22c55e}.secondary-success{text-align:center}.treasure-found{font-size:18px;color:#f59e0b;margin-top:16px}.enigma-locked{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0;gap:16px}.locked-icon-large{font-size:48px;animation:lock-pulse 2s ease-in-out infinite}.locked-title{font-family:Geist,sans-serif;font-size:20px;font-weight:600;color:#fff;margin:0}.locked-description{font-family:Geist,sans-serif;font-size:14px;color:#ffffffb3;margin:0}.countdown-display{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:16px;padding:24px;margin:16px 0;width:100%}.countdown-label{font-family:Geist,sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#22c55e;margin-bottom:16px}.countdown-timer-large{display:flex;justify-content:center;gap:16px}.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:60px}.countdown-number{font-family:Geist,monospace;font-size:32px;font-weight:700;color:#fff;line-height:1}.countdown-text{font-family:Geist,sans-serif;font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;margin-top:4px}.countdown-date{font-family:Geist,sans-serif;font-size:12px;color:#ffffff4d;margin-top:16px}.locked-hint{font-family:Geist,sans-serif;font-size:13px;color:#ffffff80;font-style:italic;margin:0}.enigma-section{display:flex;flex-direction:column;gap:20px}.enigma-intro p{font-family:Geist,sans-serif;font-size:14px;line-height:1.7;color:#ffffffb3;margin:0;text-align:center;font-style:italic}.enigma-riddle{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:12px;padding:16px}.riddle-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-family:Geist,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;color:#22c55e}.riddle-content{padding-left:8px;border-left:2px solid rgba(34,197,94,.3)}.riddle-verse{font-family:Geist,sans-serif;font-size:14px;line-height:2;color:#ffffffe6;margin:0}.enigma-hints{background:#ffffff08;border-radius:12px;overflow:hidden}.hint-header{display:flex;align-items:center;gap:8px;width:100%;padding:16px;font-family:Geist,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;color:#ffffffb3;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.hint-header:hover{background:#ffffff0d;color:#ffffffe6}.hint-toggle{margin-left:auto;font-size:10px;opacity:.6}.hints-content{padding:0 16px 16px;animation:hints-expand .2s ease-out}.hints-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.hints-list li{display:flex;gap:10px;font-family:Geist,sans-serif;font-size:13px;line-height:1.6;color:#ffffffb3}.hint-number{color:#22c55e;font-weight:600;min-width:20px}.enigma-reward{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px}.reward-label{font-family:Geist,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;color:#f59e0b}.reward-mystery{font-family:Geist,sans-serif;font-size:13px;color:#ffffffb3;font-style:italic}.quest-btn.secondary-btn{background:linear-gradient(135deg,#065f46,#059669);margin-bottom:8px}.quest-btn.secondary-btn:hover{background:linear-gradient(135deg,#047857,#10b981)}.quest-btn.found-btn{animation:found-pulse 1.5s ease-in-out infinite}.quest-btn-main{position:fixed;top:16px;left:16px;z-index:100;display:flex;align-items:center;gap:8px;padding:10px 16px;color:#fff;font-family:Geist,sans-serif;font-size:14px;font-weight:500;text-decoration:none;border-radius:var(--radius);box-shadow:var(--shadow-md);transition:all .3s ease;cursor:pointer;border:none}.quest-btn-main:hover{transform:translateY(-2px)}.quest-btn-main:hover .chevron-icon{transform:translate(3px);opacity:1}.quest-btn-main:active{transform:translateY(0)}.quest-btn-main svg{flex-shrink:0}.quest-btn-main.locked{background:linear-gradient(135deg,#4a4a6a,#3d3d5c);border:1px solid rgba(233,69,96,.3);animation:quest-glow 2s ease-in-out infinite}.quest-btn-main.locked:hover{background:linear-gradient(135deg,#5a5a7a,#4d4d6c);box-shadow:0 4px 20px #e945604d;border-color:#e9456080}.quest-btn-main.completed{background:linear-gradient(135deg,#1a5c3a,#0d4a2a);border:1px solid rgba(29,185,84,.4);animation:completed-glow 2s ease-in-out infinite}.quest-btn-main.completed:hover{background:linear-gradient(135deg,#1f6b45,#125a35);box-shadow:0 4px 20px #1db9544d;border-color:#1db95499}.quest-btn-main.just-unlocked{animation:unlock-pulse .6s ease-out}.quest-completed-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#1db954;border-radius:50%;font-size:14px;font-weight:700}.lock-icon{margin-left:2px}.chevron-icon{margin-left:4px;opacity:.7;transition:transform .2s ease,opacity .2s ease}.quest-btn-content{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.quest-label{font-weight:600;font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:2px;letter-spacing:.5px}.quest-subtitle{font-weight:500;font-size:14px}.quest-progress{opacity:.8;font-size:13px;padding-left:24px}.quest-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.quest-modal{background:linear-gradient(145deg,#1a1a2e,#16213e);border:2px solid #e94560;border-radius:12px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 0 40px #e945604d,inset 0 1px #ffffff1a;animation:quest-appear .3s ease-out}.quest-modal.quest-completed{border-color:#1db954;box-shadow:0 0 40px #1db9544d,inset 0 1px #ffffff1a}.quest-modal.quest-completed .quest-type{color:#1db954}.quest-modal.quest-completed .quest-btn{background:linear-gradient(90deg,#1a5c3a,#0d4a2a)}.quest-modal.quest-completed .quest-btn:hover{box-shadow:0 4px 20px #1db9544d}.quest-header{display:flex;align-items:flex-start;gap:12px;padding:20px;border-bottom:1px solid rgba(233,69,96,.3);position:relative}.quest-icon{font-size:32px;line-height:1}.quest-title-section{flex:1}.quest-type{font-size:11px;font-weight:600;color:#e94560;text-transform:uppercase;letter-spacing:2px}.quest-name{font-size:20px;font-weight:700;color:#fff;margin:4px 0 0;font-family:Geist,sans-serif}.quest-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:4px;transition:color .2s}.quest-close:hover{color:#fff}.quest-content{padding:20px}.quest-description{color:#b8b8d1;font-size:14px;line-height:1.6}.quest-description p{margin:0 0 12px}.quest-hint{background:#e945601a;border-left:3px solid #e94560;padding:10px 12px;border-radius:0 6px 6px 0;font-size:13px}.quest-objectives{margin-top:20px}.quest-objectives h3{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;margin:0 0 12px}.objective{display:flex;align-items:center;gap:10px;background:#ffffff0d;padding:12px;border-radius:8px}.objective-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #555;border-radius:50%;font-size:14px;color:#555}.objective-check.completed{background:#1db954;border-color:#1db954;color:#fff}.objective-text{flex:1;color:#fff;font-size:14px}.objective-progress{color:#e94560;font-weight:600;font-size:14px}.quest-progress-section{margin-top:16px;display:flex;align-items:center;gap:12px}.progress-bar-bg{flex:1;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#e94560,#f472b6);border-radius:4px;transition:width .5s ease}.progress-text{font-size:12px;color:#888;min-width:70px;text-align:right}.quest-reward{margin-top:20px}.quest-reward h3{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;margin:0 0 12px}.reward-item{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,rgba(29,185,84,.15),transparent);border:1px solid rgba(29,185,84,.3);padding:12px;border-radius:8px}.reward-icon{font-size:20px}.reward-text{color:#1db954;font-size:14px;font-weight:500}.quest-footer{padding:16px 20px 20px;border-top:1px solid rgba(255,255,255,.05)}.quest-btn{width:100%;padding:14px;background:linear-gradient(90deg,#e94560,#c73659);border:none;border-radius:8px;color:#fff;font-family:Geist,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.quest-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #e945604d}.quest-btn:active{transform:translateY(0)}.quest-success-message{color:#b8b8d1;font-size:14px;line-height:1.7;text-align:center;padding:10px 0 20px}.quest-success-message p:first-child{font-size:18px;color:#fff;margin-bottom:16px}.quest-success-message p{margin:0 0 12px}.quest-reward-unlocked{margin-top:10px}.quest-reward-unlocked h3{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:2px;letter-spacing:1px;margin:0 0 12px;text-align:center}.spotify-reward-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 20px;background:#1db954;color:#fff;text-decoration:none;border-radius:8px;font-family:Geist,sans-serif;font-size:15px;font-weight:600;transition:all .2s ease}.spotify-reward-btn:hover{background:#1ed760;transform:translateY(-2px);box-shadow:0 4px 20px #1db95466}.spotify-reward-btn:active{transform:translateY(0)}.spotify-reward-btn svg:first-child{flex-shrink:0}.spotify-reward-btn svg:last-child{opacity:.7}.snow-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:999;overflow:hidden}.snowflake{position:absolute;top:-20px;background:#fff;border-radius:50%;filter:blur(1px);box-shadow:0 0 4px #fffc;animation:snowfall linear infinite}.app{width:100%;height:100%;position:relative}
