:root{--bg-color:#0b0c10;--text-primary:#fff;--text-secondary:#ffffffb3;--accent-color:#66b2ff;--error-color:#ff6b6b;--success-color:#4caf50;--glass-bg:#ffffff1a;--glass-border:#ffffff4d;--glass-highlight:#fff3;--font-heading:"Outfit", sans-serif;--font-text:"Inter", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none}body{font-family:var(--font-text);color:var(--text-primary);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}button,input,select{color:inherit;font-family:inherit}.app{z-index:10;flex-direction:column;min-height:100dvh;display:flex;position:relative}.map-background{z-index:1;background-color:var(--bg-color);position:fixed;inset:0;overflow:hidden}.loading-screen{z-index:9999;background-color:#0b0c10;justify-content:center;align-items:center;transition:opacity .8s ease-in-out,visibility .8s ease-in-out;display:flex;position:fixed;inset:0}.loading-screen.loaded{opacity:0;visibility:hidden}.loader{border:4px solid #ffffff1a;border-top-color:#66b2ff;border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.map-tiles-container{grid-template-rows:repeat(7,256px);grid-template-columns:repeat(10,256px);width:2560px;height:1792px;display:grid;position:absolute;top:50%;left:50%}.map-tile{object-fit:cover;width:256px;height:256px;display:block}.clouds-container{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.cloud{opacity:.95;filter:drop-shadow(0 0 40px #00000080);position:absolute}.cover-cloud{width:120vw;max-width:1600px;animation:5s ease-in-out infinite alternate breathe}.cc-l1{filter:blur(8px);width:140vw;top:-20%;left:-60%}.cc-l2{width:100vw;animation-delay:-2s;top:30%;left:-50%}.cc-l3{filter:blur(4px);width:120vw;animation-delay:-4s;top:70%;left:-60%}.cc-r1{filter:blur(6px);width:130vw;animation-delay:-1s;top:-10%;right:-55%}.cc-r2{width:150vw;animation-delay:-5s;top:40%;right:-60%}.cc-r3{filter:blur(4px);width:110vw;animation-delay:-3s;top:80%;right:-50%}.cc-t1{filter:blur(12px);opacity:.8;width:200vw;max-width:3000px;top:-60%;left:-10%}.cc-b1{filter:blur(12px);opacity:.9;width:200vw;max-width:3000px;bottom:-60%;right:-10%}@keyframes breathe{0%{transform:scale(1)translate(0)}to{transform:scale(1.08)translate(70px,25px)}}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:120px 24px 80px;display:flex}.hero-content{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--glass-border);border-radius:24px;max-width:700px;padding:48px;animation:1s ease-out fadeUp;box-shadow:0 8px 32px #0000001a}.hero-logo{object-fit:contain;z-index:20;opacity:0;width:340px;height:340px;margin-bottom:-120px;position:relative}.app-loaded .hero-logo{animation:.9s cubic-bezier(.175,.885,.32,1) forwards logoEntrance,4s ease-in-out .9s infinite alternate logoHover}@keyframes logoEntrance{0%{opacity:0;transform:scale(.1)translateY(40px)}50%{opacity:1;transform:scale(1.15)translateY(-15px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes logoHover{0%{transform:translateY(0)}to{transform:translateY(-24px)}}.hero-title-image{opacity:0;z-index:20;width:100%;max-width:480px;height:auto;margin-bottom:32px;position:relative}.app-loaded .hero-title-image{animation:.9s cubic-bezier(.175,.885,.32,1) .35s forwards titleEntrance,4.2s ease-in-out 1.25s infinite alternate titleHover}@keyframes titleEntrance{0%{opacity:0;filter:drop-shadow(0 0 #0000);transform:scale(.6)translateY(20px)}50%{opacity:1;filter:drop-shadow(0 20px 40px #00f2fecc);transform:scale(1.1)translateY(-10px)}to{opacity:1;filter:drop-shadow(0 0 20px #00f2fe80);transform:scale(1)translateY(0)}}@keyframes titleHover{0%{transform:scale(1)translateY(0)}to{transform:scale(1.03)translateY(-14px)}}.hero-tagline{color:#fff;white-space:pre-wrap;margin-top:24px;font-size:1.2rem;line-height:1.6}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section{width:100%;max-width:900px;margin:0 auto;padding:80px 24px}.section h2{font-family:var(--font-heading);text-align:center;margin-bottom:12px;font-size:2.5rem;font-weight:700}.section-subtitle{color:var(--text-secondary);text-align:center;white-space:pre-wrap;font-size:1.1rem}.section-header,.form-container,.public-list,.quest-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--glass-border);border-radius:20px;box-shadow:0 4px 24px #0000001a}.section-header{margin-bottom:32px;padding:32px 24px}.form-container{padding:40px}.tab-bar{border:1px solid var(--glass-border);background:#ffffff0d;border-radius:12px;gap:12px;margin-top:24px;padding:6px;display:flex}.tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:14px 16px;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab:hover{color:var(--text-primary);background:#ffffff0d}.tab.active{background:var(--glass-highlight);color:var(--text-primary);box-shadow:0 2px 8px #0003}.registration-form{flex-direction:column;gap:20px;display:flex}.registration-form h3{font-family:var(--font-heading);font-size:1.8rem}.form-subtitle{color:var(--text-secondary);margin-top:-12px;font-size:1rem}.registration-form label{color:var(--text-secondary);flex-direction:column;gap:8px;font-size:.95rem;font-weight:500;display:flex}.registration-form input,.registration-form select{color:var(--text-primary);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border:1px solid #ffffff4d;border-radius:10px;outline:none;padding:14px 16px;font-size:1rem;transition:all .2s}.registration-form input::placeholder{color:#ffffffb3;opacity:1}.registration-form input:focus,.registration-form select:focus{border-color:var(--accent-color);background:#ffffff26;box-shadow:0 0 0 3px #66b2ff33}.registration-form select option{background-color:var(--bg-color);color:var(--text-primary)}.optional{color:#fff6;font-weight:400}.registration-form button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);border:none;border-radius:10px;margin-top:12px;padding:16px;font-size:1.1rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #00f2fe4d}.registration-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00f2fe66}.registration-form button:active:not(:disabled){transform:translateY(0)}.registration-form button:disabled{box-shadow:none;color:#ffffff4d;cursor:not-allowed;background:#ffffff1a}.form-error{color:var(--error-color);background:#ff6b6b1a;border:1px solid #ff6b6b33;border-radius:8px;padding:12px;font-size:.9rem}.form-success{text-align:center;padding:48px 24px}.success-icon{margin-bottom:24px;font-size:4rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) pop;display:block}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.form-success h3{font-family:var(--font-heading);font-size:2rem}.form-success p{color:var(--text-secondary);margin-top:12px;font-size:1.1rem}.form-success button{border:1px solid var(--glass-highlight);cursor:pointer;color:var(--text-primary);background:#ffffff0d;border-radius:10px;margin-top:32px;padding:12px 32px;font-size:1rem;transition:all .2s}.form-success button:hover{background:#ffffff1a;border-color:#ffffff4d}.public-lists{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (width<=768px){.public-lists{grid-template-columns:1fr}}.public-list{padding:32px}.public-list h3{font-family:var(--font-heading);align-items:center;gap:12px;margin-bottom:24px;font-size:1.4rem;display:flex}.name-list{flex-direction:column;gap:12px;list-style:none;display:flex}.name-item{background:#ffffff14;border:1px solid #fff3;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:1rem;transition:transform .2s;display:flex}.name-item:hover{background:#ffffff0d;transform:translate(4px)}.name-emoji{font-size:1.4rem}.name-label{flex:1;font-weight:500}.name-tag{color:var(--text-primary);background:#ffffff1a;border-radius:6px;padding:4px 10px;font-size:.8rem}.list-count{color:var(--text-secondary);text-align:center;margin-top:24px;font-size:.9rem}.loading-text,.empty-text,.error-text{color:var(--text-secondary);text-align:center;background:#0003;border:1px dashed #ffffff1a;border-radius:12px;padding:32px 0;font-size:1rem}.quests-section{max-width:1100px}.quest-browser{width:100%}.quest-browser h3{display:none}.quest-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px;display:grid}.quest-card{cursor:pointer;padding:24px;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.quest-card:hover{background:#ffffff26;border-color:#fff6;transform:translateY(-6px)scale(1.02);box-shadow:0 12px 32px #0003}.quest-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.quest-emoji{filter:drop-shadow(0 4px 8px #0000004d);font-size:2rem}.quest-badge{color:#fff;background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:700;box-shadow:0 2px 8px #00f2fe4d}.quest-title{font-family:var(--font-heading);margin-bottom:8px;font-size:1.2rem;font-weight:700;line-height:1.3}.quest-address{color:var(--text-secondary);align-items:center;gap:4px;margin-bottom:16px;font-size:.85rem;display:flex}.quest-meta{border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-top:16px;font-size:.8rem;display:flex}.quest-category{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-color);font-weight:600}.quest-participants{color:var(--text-secondary);align-items:center;gap:4px;display:flex}.quest-participants:before{content:"👤";font-size:.9rem}.footer{text-align:center;color:#ffffff4d;-webkit-backdrop-filter:blur(8px);padding:48px 24px;padding-bottom:max(48px, env(safe-area-inset-bottom));background:linear-gradient(#0000,#000c);margin-top:auto;font-size:.9rem}.footer p{margin:0}@media (width<=600px){.hero{padding:80px 20px 60px}.hero h1{font-size:2.5rem}.hero-content{padding:32px 20px}.form-container,.public-list{padding:24px}.section{padding:60px 20px}}
