:root{--bg:#0A0A18;--surface:#12122A;--card:#1A1A36;--card2:#222244;--accent:#FF6B4A;--accent2:#FF8F6B;--gold:#FFD166;--cyan:#4ECDC4;--text:#F0F0F8;--muted:#6A6A8E;--glass:rgba(18,18,42,0.88);--preistoria:#F4B084;--grecia:#5B9BD5;--roma:#70AD47;--bizantino:#B07CC6;--medievale:#FFD966;--multiepoca:#F8CBAD;--radius:16px;--shadow:0 8px 32px rgba(0,0,0,.5)}body.light{--bg:#F5F2ED;--surface:#EDEAE4;--card:#FFFFFF;--card2:#F0ECE6;--accent:#D4553A;--accent2:#E07A5F;--gold:#C49535;--cyan:#2BAA9E;--text:#1A1A2E;--muted:#7A7A8E;--glass:rgba(245,242,237,0.92);--preistoria:#C47A4A;--grecia:#3A7BBF;--roma:#4A8A30;--bizantino:#8A5AA0;--medievale:#B8920A;--multiepoca:#C4946A;--shadow:0 8px 32px rgba(0,0,0,.1)}body.light .topbar{background:linear-gradient(180deg,rgba(245,242,237,.96) 0,rgba(245,242,237,.6) 70%,transparent 100%)}body.light .adventures{background:linear-gradient(0deg,rgba(245,242,237,.98) 0,rgba(245,242,237,.8) 60%,transparent 100%)}body.light .leaflet-control-zoom a{background:var(--glass)!important;color:var(--text)!important;border:1px solid rgba(0,0,0,.1)!important}body.light .fab{box-shadow:0 4px 16px rgba(0,0,0,.12)}body.light .fab.chat,body.light .fab.search{background:var(--glass);border:1px solid rgba(0,0,0,.08);color:var(--text)}body.light .swipe-card{box-shadow:0 8px 32px rgba(0,0,0,.1)}body.light .progress-pill{border:1px solid rgba(196,149,53,.25)}body.light .badge{border:1px solid rgba(0,0,0,.04)}body.light .detail-actions .btn.secondary{border:1px solid rgba(0,0,0,.08)}body.light .explore-search,body.light .search-top input{border:1px solid rgba(0,0,0,.1)}body.light .review-input textarea{background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08)}body.light .partner-card{border:1px solid rgba(212,168,67,.12)}body.light .detail-ai-btn{background:linear-gradient(135deg,rgba(108,92,231,.08),rgba(162,155,254,.06));border:1px solid rgba(108,92,231,.15)}body.light .view-toggle{background:var(--glass);border:1px solid rgba(0,0,0,.06)}body.light .explore-chip{border:1.5px solid rgba(0,0,0,.1);color:var(--muted)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Nunito,-apple-system,sans-serif;background:var(--bg);color:var(--text);height:100vh;height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;overscroll-behavior:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);font-size:19px}.splash{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;transition:opacity .8s,transform .8s;padding:20px;overflow:hidden}.splash.gone{opacity:0;transform:scale(1.1);pointer-events:none}.splash-flower{position:relative;width:360px;height:360px;margin-bottom:8px}.splash-core-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.4s;z-index:10}.splash-core-circle:hover{transform:translate(-50%,-50%) scale(1.08)}.splash-core-bg{position:absolute;inset:0;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--gold));box-shadow:0 0 60px rgba(255,107,74,.4);animation:3s ease-in-out infinite splashGlowPulse}@keyframes splashGlowPulse{0%,100%{box-shadow:0 0 60px rgba(255,107,74,.4)}50%{box-shadow:0 0 90px rgba(255,107,74,.6)}}.splash-core-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}.splash-icon{font-size:56px;line-height:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.splash-petal{position:absolute;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;z-index:5;opacity:0;animation:.4s forwards petalFade}.splash-petal:hover .splash-petal-icon{background:rgba(255,107,74,.2);border-color:var(--accent);box-shadow:0 4px 20px rgba(255,107,74,.3);transform:scale(1.1)}.splash-petal:active .splash-petal-icon{transform:scale(.93)}.splash-petal-icon{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;transition:.3s;box-shadow:0 2px 12px rgba(0,0,0,.2)}.splash-petal-label{font-size:10px;font-weight:700;color:var(--text);text-align:center;line-height:1.15;white-space:nowrap}@keyframes petalFade{to{opacity:1}}.splash-subtitle{font-size:14px;color:var(--muted);text-align:center;margin-top:4px;font-weight:600}.splash-subtitle b{color:var(--accent);font-size:22px;font-weight:800}.splash p{color:var(--muted);font-size:15px;text-align:center;max-width:340px;line-height:1.6;margin:8px 0}.splash-cta{padding:16px 36px;border-radius:28px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:18px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 24px rgba(255,107,74,.4);transition:.3s;letter-spacing:.5px;min-height:52px}.splash-cta:hover{transform:scale(1.05);box-shadow:0 6px 32px rgba(255,107,74,.5)}.splash-cta:active{transform:scale(.97)}.petal-ring{position:fixed;bottom:160px;left:50%;margin-left:-120px;width:240px;height:180px;z-index:950;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s;transform:scale(.8)}.petal-ring.open{opacity:1;transform:scale(1);pointer-events:auto}.petal-ring-toggle{position:fixed;bottom:156px;left:50%;margin-left:-26px;z-index:951;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--gold));display:flex;align-items:center;justify-content:center;font-size:24px;border:none;color:#fff;cursor:pointer;box-shadow:0 4px 20px rgba(255,107,74,.4);transition:.3s;touch-action:manipulation}.petal-ring-toggle:active{transform:scale(.9)}.petal-ring-toggle.open{transform:rotate(45deg)!important}.petal-item{position:absolute;width:46px;height:46px;border-radius:50%;background:var(--card);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;transition:.2s;box-shadow:0 2px 12px rgba(0,0,0,.3)}.petal-item:hover{transform:scale(1.15);border-color:var(--accent)}.petal-item:active{transform:scale(.9)}.petal-tip{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:700;color:var(--muted);white-space:nowrap;opacity:0;transition:opacity .2s}.petal-item:hover .petal-tip{opacity:1}.gallery-overlay{position:fixed;inset:0;z-index:2000;background:linear-gradient(180deg,#0a0a1a 0,#12122a 50%,#0a0a1a 100%);display:none;flex-direction:column;align-items:center;animation:.5s galFadeIn}@keyframes galFadeIn{from{opacity:0}to{opacity:1}}.gallery-overlay.open{display:flex}.gallery-topbar{width:100%;max-width:480px;padding:14px 16px 8px;display:flex;align-items:center;justify-content:space-between;z-index:10}.gallery-topbar .gtabs{display:flex;gap:6px}.gallery-topbar .gtab{padding:9px 20px;border-radius:24px;font-size:14px;font-weight:700;border:none;cursor:pointer;background:rgba(255,255,255,.06);color:#777;transition:.25s}.gallery-topbar .gtab.active{background:linear-gradient(135deg,var(--accent),#ff8a5c);color:#fff;box-shadow:0 4px 16px rgba(255,107,74,.35)}.gallery-topbar .gclose{background:rgba(255,255,255,.06);border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px 12px;border-radius:50%;transition:background .2s}.gallery-topbar .gclose:hover{background:rgba(255,255,255,.12)}.gallery-card-wrap{flex:1;display:flex;align-items:center;justify-content:center;width:100%;position:relative;overflow:hidden;padding:4px 12px}.gallery-card{width:94vw;max-width:420px;border-radius:24px;overflow:hidden;background:#16162e;box-shadow:0 16px 64px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.05);touch-action:pan-y;user-select:none;transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s}.gallery-card.swipe-left{transform:translateX(-130%) rotate(-18deg);opacity:0}.gallery-card.swipe-right{transform:translateX(130%) rotate(18deg);opacity:0}.gallery-card-img{width:100%;aspect-ratio:3/4;overflow:hidden;position:relative}.gallery-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-card-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,rgba(0,0,0,.4));pointer-events:none}.gallery-card-img .gcount{position:absolute;top:14px;left:14px;padding:5px 14px;border-radius:12px;background:rgba(0,0,0,.5);color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(8px);letter-spacing:.5px}.gallery-card-body{padding:18px 20px 16px;color:#fff}.gallery-card-body h3{font-size:22px;font-weight:900;margin:0 0 5px;letter-spacing:-.3px}.gallery-card-body .gsub{font-size:14px;color:#aaa;margin-bottom:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.gallery-card-body .gbadges{display:flex;gap:7px;flex-wrap:wrap}.gallery-card-body .gb{padding:5px 12px;border-radius:14px;font-size:11px;font-weight:700;background:rgba(255,255,255,.07);color:#bbb;backdrop-filter:blur(4px)}.gallery-actions{display:flex;gap:16px;padding:14px 0 20px;align-items:center}.gallery-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;border:2.5px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);cursor:pointer;transition:.25s;color:#777;backdrop-filter:blur(8px)}.gallery-btn:active{transform:scale(.85)}.gallery-btn.skip{border-color:#ff6b6b;color:#ff6b6b;background:rgba(255,107,107,.06)}.gallery-btn.skip:active{background:rgba(255,107,107,.2)}.gallery-btn.like{border-color:#4ecdc4;color:#4ecdc4;width:68px;height:68px;font-size:30px;background:rgba(78,205,196,.06);box-shadow:0 4px 24px rgba(78,205,196,.2)}.gallery-btn.like:active{background:rgba(78,205,196,.2)}.gallery-btn.fav{border-color:#ffe66d;color:#ffe66d;background:rgba(255,230,109,.06)}.gallery-btn.fav:active{background:rgba(255,230,109,.2)}.gallery-btn.info{border-color:var(--cyan);color:var(--cyan)}.gallery-btn.map{border-color:#a29bfe;color:#a29bfe;background:rgba(162,155,254,.06);font-size:18px}.gallery-btn.map:active{background:rgba(162,155,254,.2)}.gbl{font-size:10px;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px}.gallery-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%) translateY(-20px);padding:12px 24px;border-radius:14px;font-size:15px;font-weight:700;color:#fff;z-index:9999;opacity:0;transition:.3s cubic-bezier(.4,0,.2,1);pointer-events:none;backdrop-filter:blur(12px);box-shadow:0 8px 32px rgba(0,0,0,.3)}.gallery-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.gallery-saved-view{display:none;flex-direction:column;align-items:center;flex:1;width:100%;overflow-y:auto;padding:12px}.gallery-saved-view.active{display:flex}.gallery-saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;width:100%;max-width:500px;padding:8px}.gallery-saved-item{border-radius:16px;overflow:hidden;cursor:pointer;position:relative;aspect-ratio:3/4;background:#16162e;box-shadow:0 4px 20px rgba(0,0,0,.4)}.gallery-saved-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery-saved-item:active img{transform:scale(1.06)}.gallery-saved-item .gsi-name{position:absolute;bottom:0;left:0;right:0;padding:10px;background:linear-gradient(transparent,rgba(0,0,0,.85));color:#fff;font-size:12px;font-weight:700}.gallery-saved-empty{color:#555;text-align:center;padding:60px 24px;font-size:15px;line-height:1.5}.gallery-swipe-label{position:absolute;top:40%;transform:translateY(-50%) rotate(-12deg);font-size:38px;font-weight:900;padding:10px 24px;border-radius:14px;border:4px solid;z-index:20;opacity:0;transition:opacity .15s;pointer-events:none;letter-spacing:2px;text-transform:uppercase}.gallery-swipe-label.lbl-skip{left:16px;color:#ff6b6b;border-color:#ff6b6b;background:rgba(255,107,107,.12);transform:translateY(-50%) rotate(-15deg)}.gallery-swipe-label.lbl-like{right:16px;color:#4ecdc4;border-color:#4ecdc4;background:rgba(78,205,196,.12);transform:translateY(-50%) rotate(15deg)}.gallery-intro{text-align:center;padding:0 20px 8px;animation:.6s .2s both galSlideUp}@keyframes galSlideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gallery-intro h2{font-size:15px;font-weight:800;color:#fff;margin:0 0 3px;letter-spacing:.5px}.gallery-intro p{font-size:12px;color:#666;margin:0}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;opacity:0;transition:opacity .6s}.app.visible{opacity:1}#map{flex:1;z-index:1}.leaflet-container{background:var(--bg)}.leaflet-control-zoom{border:none!important;margin-bottom:100px!important;margin-top:60px!important}.leaflet-control-zoom a{background:var(--glass)!important;color:var(--text)!important;border:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(12px);width:48px!important;height:48px!important;line-height:48px!important;font-size:22px!important}.leaflet-control-attribution{display:none!important}.topbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 16px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,rgba(10,10,24,.96) 0,rgba(10,10,24,.6) 70%,transparent 100%);pointer-events:none;min-height:56px}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;flex:1}.brand-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--gold));display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 2px 12px rgba(255,107,74,.3)}.brand h1{font-size:18px;font-weight:700;color:var(--text)}.trip-topbar-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;border-radius:22px;background:linear-gradient(135deg,rgba(78,205,196,.15),rgba(78,205,196,.08));backdrop-filter:blur(12px);border:1px solid rgba(78,205,196,.25);font-size:14px;font-weight:700;color:var(--cyan);cursor:pointer;transition:.3s;white-space:nowrap;animation:3s ease-in-out infinite tripGlow}.trip-topbar-btn:active{transform:scale(.95)}@keyframes tripGlow{0%,100%{border-color:rgba(78,205,196,.25);box-shadow:none}50%{border-color:rgba(78,205,196,.5);box-shadow:0 0 12px rgba(78,205,196,.2)}}body.light .trip-topbar-btn{background:linear-gradient(135deg,rgba(43,170,158,.1),rgba(43,170,158,.05));border:1px solid rgba(43,170,158,.2)}.progress-pill{display:flex;align-items:center;gap:8px;padding:10px 18px;border-radius:22px;background:var(--glass);backdrop-filter:blur(12px);border:1px solid rgba(255,209,102,.15);font-size:15px;font-weight:700;color:var(--gold);cursor:pointer;transition:.3s}.progress-pill:hover{border-color:var(--gold);transform:translateY(-1px)}.progress-bar{width:40px;height:4px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}.progress-bar div{height:100%;background:var(--gold);border-radius:4px;transition:width .5s}.adventures{position:fixed;bottom:0;left:0;right:0;z-index:800;padding:0 0 8px;background:linear-gradient(0deg,rgba(10,10,24,.95) 0,rgba(10,10,24,.7) 70%,transparent 100%);pointer-events:none}.adventures>*{pointer-events:auto}.adventures-label{padding:4px 14px 6px;font-size:13px;font-weight:800;color:var(--text);text-transform:uppercase;letter-spacing:1.5px}.adventures-scroll{display:flex;gap:8px;overflow-x:auto;padding:0 12px 4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.adventures-scroll::-webkit-scrollbar{display:none}.adventure-card{min-width:170px;max-width:170px;scroll-snap-align:start;border-radius:16px;overflow:hidden;cursor:pointer;position:relative;transition:.3s;flex-shrink:0;aspect-ratio:4/3;background:var(--card)}.adventure-card:hover{transform:translateY(-3px) scale(1.02)}.adventure-card:active{transform:scale(.97)}.adventure-card .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s}.adventure-card:hover .bg{transform:scale(1.08)}.adventure-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.8) 100%)}.adventure-card .content{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;overflow:hidden}.adventure-card .emoji{display:none}.adventure-card h3{font-size:14px;font-weight:800;line-height:1.2;margin-bottom:2px;color:#fff;text-shadow:0 1px 4px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adventure-card .sub{font-size:11px;color:rgba(255,255,255,.9);font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.9);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fab-group{position:fixed;top:70px;right:14px;z-index:900;display:flex;flex-direction:column;gap:10px}.fab{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;cursor:pointer;border:none;transition:.3s;box-shadow:var(--shadow);touch-action:manipulation}.fab:hover{transform:scale(1.1)}.fab:active{transform:scale(.9)}.fab.surprise{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.fab.search{background:var(--glass);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);color:var(--text)}.fab-ai{display:none!important}.fab-ai:hover{transform:translateY(-2px)}.fab-ai:active{transform:scale(.95)}.fab-ai-btn{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#6c5ce7,#a29bfe);display:flex;align-items:center;justify-content:center;font-size:30px;border:none;color:#fff;box-shadow:0 8px 32px rgba(108,92,231,.5);animation:2.5s ease-in-out infinite aiPulse;touch-action:manipulation}.fab-ai-label{background:var(--glass);backdrop-filter:blur(12px);padding:12px 20px;border-radius:16px;font-size:16px;font-weight:700;color:var(--text);border:1px solid rgba(108,92,231,.25);white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.2);pointer-events:none}body.light .fab-ai-label{border:1px solid rgba(108,92,231,.15);box-shadow:0 4px 16px rgba(0,0,0,.08)}@keyframes aiPulse{0%,100%{box-shadow:0 6px 24px rgba(108,92,231,.5)}50%{box-shadow:0 6px 36px rgba(108,92,231,.8)}}.swipe-overlay{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(10,10,24,.92);backdrop-filter:blur(8px);flex-direction:column;padding:20px}.swipe-overlay.open{display:flex}.swipe-header{width:100%;max-width:380px;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.swipe-header .close{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);border:none;color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.swipe-header .title{font-size:13px;color:var(--muted);font-weight:600}.swipe-card{width:100%;max-width:380px;border-radius:20px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);position:relative;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .3s;touch-action:pan-y}.swipe-card.exit-left{transform:translateX(-120%) rotate(-15deg);opacity:0}.swipe-card.exit-right{transform:translateX(120%) rotate(15deg);opacity:0}.swipe-card.enter{animation:.4s cubic-bezier(.2,.8,.2,1) cardEnter}@keyframes cardEnter{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.swipe-hero{height:200px;background:var(--surface);position:relative;overflow:hidden}.swipe-hero img{width:100%;height:100%;object-fit:cover}.swipe-hero .epoch-badge{position:absolute;top:12px;right:12px;padding:5px 12px;border-radius:20px;font-size:11px;font-weight:700;backdrop-filter:blur(8px)}.swipe-hero .gradient{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(transparent,var(--card))}.swipe-body{padding:14px 18px 16px}.swipe-name{font-size:22px;font-weight:700;line-height:1.2;margin-bottom:5px}.swipe-meta{display:flex;gap:6px;align-items:center;margin-bottom:8px;flex-wrap:wrap}.swipe-meta .tag{padding:3px 10px;border-radius:8px;font-size:10px;font-weight:600;background:rgba(255,255,255,.06)}.swipe-desc{font-size:14px;color:rgba(240,240,248,.7);line-height:1.5;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.swipe-info{display:flex;gap:12px;margin-bottom:10px}.swipe-info .item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.swipe-info .item span{font-weight:600;color:var(--text)}.swipe-card-actions{display:flex;gap:8px;margin-bottom:6px}.swipe-card-actions .sca-btn{flex:1;padding:10px 8px;border-radius:10px;font-size:11px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:.2s}.swipe-card-actions .sca-btn:active{transform:scale(.95)}.swipe-card-actions .sca-btn.ai{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff;box-shadow:0 3px 14px rgba(108,92,231,.3)}.swipe-card-actions .sca-btn.nav{background:rgba(78,205,196,.12);color:var(--cyan)}.swipe-card-actions .sca-btn.det{background:var(--card2);color:var(--text);border:1px solid rgba(255,255,255,.08)}.swipe-actions{display:flex;gap:12px;justify-content:center;margin-top:12px;width:100%;max-width:380px}.swipe-btn{flex:1;padding:14px;border-radius:14px;font-size:14px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s}.swipe-btn:active{transform:scale(.95)}.swipe-btn.skip{background:rgba(255,255,255,.06);color:var(--muted)}.swipe-btn.next{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 16px rgba(255,107,74,.3)}.detail{position:fixed;inset:0;z-index:3000;display:none;flex-direction:column;background:var(--bg);overflow-y:auto}.detail.open{display:flex}.detail-hero{height:260px;position:relative;overflow:hidden;flex-shrink:0}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero .gradient{position:absolute;bottom:0;left:0;right:0;height:140px;background:linear-gradient(transparent,var(--bg))}.detail-back{position:absolute;top:16px;left:16px;z-index:10;width:40px;height:40px;border-radius:50%;background:var(--glass);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--text);transition:.2s}.detail-back:active{transform:scale(.9)}.detail-body{padding:0 20px 60px}.detail-name{font-size:26px;font-weight:700;margin-bottom:8px;line-height:1.2}.detail-badges{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 16px}.detail-badges .badge{padding:6px 14px;border-radius:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.badge.preistoria{background:rgba(244,176,132,.12);color:var(--preistoria)}.badge.grecia{background:rgba(91,155,213,.12);color:var(--grecia)}.badge.roma{background:rgba(112,173,71,.12);color:var(--roma)}.badge.bizantino{background:rgba(176,124,198,.12);color:var(--bizantino)}.badge.medievale{background:rgba(255,217,102,.12);color:var(--medievale)}.badge.multi-epoca{background:rgba(248,203,173,.12);color:var(--multiepoca)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.detail-cell{background:var(--card);border-radius:12px;padding:12px}.detail-cell label{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:600;letter-spacing:.5px;margin-bottom:3px}.detail-cell span{font-size:16px;font-weight:600}.detail-desc{font-size:16px;line-height:1.7;color:rgba(240,240,248,.75);margin-bottom:24px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.detail-actions .btn{padding:14px 28px;border-radius:16px;font-size:15px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:.2s;min-height:48px}.detail-actions .btn:active{transform:scale(.95)}.detail-actions .btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 4px 16px rgba(255,107,74,.3)}.detail-actions .btn.yt{background:rgba(255,0,0,.1);color:#f44;border:1px solid rgba(255,0,0,.15)}.detail-actions .btn.secondary{background:var(--card);color:var(--text);border:1px solid rgba(255,255,255,.08)}.detail-ai-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:16px;background:linear-gradient(135deg,rgba(108,92,231,.15),rgba(162,155,254,.1));border:1px solid rgba(108,92,231,.2);border-radius:12px;cursor:pointer;transition:.2s;color:#a29bfe;font-size:13px;font-weight:600}.detail-ai-btn:active{transform:scale(.97)}.trip-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:8px;background:linear-gradient(135deg,rgba(78,205,196,.12),rgba(78,205,196,.06));border:1px solid rgba(78,205,196,.2);border-radius:12px;cursor:pointer;transition:.2s;color:var(--cyan);font-size:13px;font-weight:600}.trip-btn:active{transform:scale(.97)}.aff-section{margin-top:16px;padding:16px;background:linear-gradient(135deg,rgba(139,69,19,.06),rgba(218,165,32,.04));border:1px solid rgba(139,69,19,.15);border-radius:16px}.aff-title{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:12px;letter-spacing:.5px}.aff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.aff-btn{display:flex;flex-direction:column;align-items:center;padding:12px 6px;border-radius:12px;text-decoration:none;transition:.2s;cursor:pointer;border:1px solid rgba(255,255,255,.06);background:var(--card)}.aff-btn:active{transform:scale(.95)}.aff-icon{font-size:22px;margin-bottom:4px}.aff-label{font-size:11px;font-weight:700;color:var(--text);text-align:center;line-height:1.2}.aff-sub{font-size:9px;color:var(--muted);margin-top:2px}.aff-hotel{border-color:rgba(0,83,159,.2)}.aff-hotel:hover{background:rgba(0,83,159,.08)}.aff-tour{border-color:rgba(255,87,34,.2)}.aff-tour:hover{background:rgba(255,87,34,.08)}.aff-ticket{border-color:rgba(0,166,153,.2)}.aff-ticket:hover{background:rgba(0,166,153,.08)}.aff-food{border-color:rgba(0,135,98,.2)}.aff-food:hover{background:rgba(0,135,98,.08)}.aff-car{border-color:rgba(255,193,7,.2)}.aff-car:hover{background:rgba(255,193,7,.08)}.aff-train{border-color:rgba(33,150,243,.2)}.aff-train:hover{background:rgba(33,150,243,.08)}.aff-note{font-size:9px;color:var(--muted);text-align:center;margin-top:8px;opacity:.6}body.light .aff-btn{background:rgba(255,255,255,.8);border-color:rgba(0,0,0,.08)}.trip-panel{position:fixed;inset:0;z-index:3000;display:none;flex-direction:column;background:var(--bg);overflow-y:auto}.trip-panel.open{display:flex}.trip-section{background:var(--card);border-radius:14px;padding:16px;margin-bottom:12px}.trip-section-title{font-size:12px;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;display:flex;align-items:center;gap:6px}.trip-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04);align-items:flex-start}.trip-item:last-child{border-bottom:none}.trip-item-icon{font-size:18px;width:28px;text-align:center;flex-shrink:0;padding-top:1px}.trip-item-content{flex:1}.trip-item-title{font-size:13px;font-weight:600;color:var(--text)}.trip-item-sub{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.4}.trip-item-price{font-size:12px;font-weight:700;color:var(--gold);margin-top:3px}.trip-item-action{padding:6px 12px;border-radius:8px;font-size:10px;font-weight:700;border:none;cursor:pointer;white-space:nowrap;align-self:center}.trip-timeline{position:relative;padding-left:28px}.trip-timeline::before{content:'';position:absolute;left:12px;top:8px;bottom:8px;width:2px;background:rgba(255,255,255,.06)}.trip-time-item{position:relative;padding:8px 0}.trip-time-item::before{content:'';position:absolute;left:-20px;top:14px;width:10px;height:10px;border-radius:50%;background:var(--gold);border:2px solid var(--bg)}.trip-total{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,rgba(212,168,67,.1),rgba(212,168,67,.05));border:1px solid rgba(212,168,67,.15);border-radius:14px;margin-top:12px}.trip-total-label{font-size:13px;font-weight:600;color:var(--text)}.trip-total-price{font-size:20px;font-weight:700;color:var(--gold)}body.light .trip-panel{background:var(--bg)}body.light .trip-section{border:1px solid rgba(0,0,0,.06)}body.light .trip-timeline::before{background:rgba(0,0,0,.08)}body.light .trip-time-item::before{border:2px solid var(--bg)}.reviews-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.reviews-title{font-size:14px;font-weight:700;color:var(--text)}.reviews-avg{display:flex;align-items:center;gap:6px}.reviews-stars{color:#d4a843;font-size:14px;letter-spacing:1px}.reviews-count{font-size:11px;color:var(--muted)}.review-card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:10px}.review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.review-author{font-size:12px;font-weight:600;color:var(--text)}.review-date{font-size:10px;color:var(--muted)}.review-stars{color:#d4a843;font-size:11px;margin-bottom:6px}.review-text{font-size:12px;color:rgba(240,240,248,.7);line-height:1.5}.review-input{margin-top:14px;background:var(--card);border-radius:12px;padding:14px}.review-input textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--text);font-size:12px;padding:10px;resize:none;outline:0;font-family:inherit}.review-input-stars{display:flex;gap:4px;margin:8px 0}.review-input-stars span{font-size:22px;cursor:pointer;opacity:.3;transition:.15s}.review-input-stars span.active{opacity:1}.review-submit{padding:8px 16px;background:linear-gradient(135deg,#d4a843,#c49535);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;margin-top:8px}.partners-section{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}.partners-title{font-size:13px;font-weight:700;color:var(--gold);margin-bottom:12px;display:flex;align-items:center;gap:6px}.partner-card{display:flex;gap:12px;background:var(--card);border-radius:12px;padding:12px;margin-bottom:10px;cursor:pointer;transition:.2s;border:1px solid rgba(212,168,67,.08)}.partner-card:active{transform:scale(.98)}.partner-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.partner-info{flex:1;min-width:0}.partner-name{font-size:13px;font-weight:600;color:var(--text)}.partner-meta{font-size:10px;color:var(--muted);margin-top:2px}.partner-offer{font-size:11px;color:var(--gold);margin-top:4px;font-weight:500}.partner-distance{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:3px;margin-top:3px}.partner-badge{font-size:8px;padding:2px 6px;background:rgba(212,168,67,.12);color:var(--gold);border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.chat{position:fixed;inset:0;z-index:3000;display:none;flex-direction:column;background:var(--bg)}.chat.open{display:flex}.chat-top{padding:16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.06)}.chat-top h2{font-size:16px;font-weight:700;flex:1}.chat-close{width:32px;height:32px;border-radius:8px;background:var(--card);border:none;color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.quick-actions{padding:12px 16px;display:flex;gap:6px;overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.quick-actions::-webkit-scrollbar{display:none}.quick-action{padding:6px 14px;border-radius:20px;background:var(--card);border:1px solid rgba(255,255,255,.06);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;transition:.2s;color:var(--text)}.quick-action:hover{border-color:var(--accent);color:var(--accent)}.chat-body{flex:1;overflow-y:auto;padding:16px;font-size:15px;display:flex;flex-direction:column;gap:12px}.chat-msg{background:var(--card);border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.6;animation:.3s fadeIn;max-width:90%}@keyframes fadeIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.chat-msg.user{background:var(--accent);color:#fff;align-self:flex-end}.chat-input-bar{padding:12px 16px;display:flex;gap:8px;border-top:1px solid rgba(255,255,255,.06);background:var(--surface)}.chat-input-bar input{flex:1;padding:10px 16px;border-radius:12px;background:var(--bg);border:1px solid rgba(255,255,255,.08);color:var(--text);font-size:13px;outline:0;font-family:inherit}.chat-input-bar input:focus{border-color:var(--accent)}.chat-input-bar button{padding:10px 18px;border-radius:12px;background:var(--accent);color:#fff;border:none;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}.search-panel{position:fixed;inset:0;z-index:2500;display:none;flex-direction:column;background:var(--bg)}.search-panel.open{display:flex}.search-top{padding:16px;display:flex;gap:10px;align-items:center}.search-top input{flex:1;padding:12px 16px;border-radius:14px;background:var(--card);border:1px solid rgba(255,255,255,.08);color:var(--text);font-size:15px;outline:0;font-family:inherit}.search-top input:focus{border-color:var(--accent)}.search-top .close{width:36px;height:36px;border-radius:10px;background:var(--card);border:none;color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.search-filters{padding:0 16px 8px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.search-filters::-webkit-scrollbar{display:none}.search-chip{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid rgba(255,255,255,.1);color:var(--muted);transition:.2s;white-space:nowrap}.search-chip.active{border-color:var(--accent);color:var(--accent);background:rgba(255,107,74,.08)}.search-results{flex:1;overflow-y:auto;padding:8px 16px 40px}.search-result{display:flex;gap:12px;padding:12px;border-radius:var(--radius);background:var(--card);margin-bottom:8px;cursor:pointer;transition:.2s;border:1px solid transparent}.search-result:active{transform:scale(.98);border-color:var(--accent)}.search-result .thumb{width:60px;height:60px;border-radius:10px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;overflow:hidden}.search-result .thumb img{width:100%;height:100%;object-fit:cover}.search-result .info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.search-result .name{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result .meta{font-size:13px;color:var(--muted)}.adventure-list{position:fixed;inset:0;z-index:2500;display:none;flex-direction:column;background:var(--bg);overflow-y:auto}.adventure-list.open{display:flex}.adventure-list-header{padding:20px;display:flex;align-items:center;gap:12px}.adventure-list-header .back{width:36px;height:36px;border-radius:10px;background:var(--card);border:none;color:var(--text);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.adventure-list-header h2{flex:1;font-size:20px;font-weight:700}.adventure-sites{padding:0 16px 40px;display:flex;flex-direction:column;gap:10px}.adventure-site{display:flex;gap:14px;padding:14px;border-radius:var(--radius);background:var(--card);cursor:pointer;transition:.2s;border:1px solid transparent;align-items:center}.adventure-site:active{border-color:var(--accent);transform:scale(.98)}.adventure-site .num{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.adventure-site .thumb{width:56px;height:56px;border-radius:10px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;overflow:hidden}.adventure-site .thumb img{width:100%;height:100%;object-fit:cover}.adventure-site .info{flex:1;min-width:0}.adventure-site .name{font-size:14px;font-weight:700;margin-bottom:2px}.adventure-site .sub{font-size:11px;color:var(--muted);line-height:1.3}.marker-cluster-large,.marker-cluster-medium,.marker-cluster-small{background:rgba(255,107,74,.2)!important}.marker-cluster-large div,.marker-cluster-medium div,.marker-cluster-small div{background:var(--accent)!important;color:#fff!important;font-weight:700;font-family:Nunito,sans-serif}@media(min-width:768px){.adventures-scroll{gap:14px;padding:0 20px 8px}.adventure-card{min-width:140px;max-width:140px}.swipe-card{max-width:420px}.adventure-list,.chat,.detail,.search-panel{left:auto;right:0;width:440px;border-left:1px solid rgba(255,255,255,.06)}}.view-toggle{position:fixed;bottom:auto;top:180px;left:10px;z-index:900;display:inline-flex;background:var(--glass);backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(255,255,255,.08);overflow:hidden;gap:2px;padding:3px}.view-toggle .tab{padding:8px 16px;font-size:14px;font-weight:700;cursor:pointer;color:var(--muted);transition:.2s;white-space:nowrap;border-radius:12px;min-height:36px;display:flex;align-items:center;touch-action:manipulation}.view-toggle .tab.active{background:var(--accent);color:#fff}.explore-sheet{position:fixed;bottom:0;left:0;right:0;z-index:800;background:var(--surface);border-radius:20px 20px 0 0;max-height:50vh;transition:max-height .4s cubic-bezier(.4,0,.2,1),transform .4s;overflow:hidden;box-shadow:0 -4px 30px rgba(0,0,0,.5);transform:translateY(100%)}.explore-sheet.visible{transform:translateY(0)}.explore-sheet.expanded{max-height:80vh}.explore-handle{width:40px;height:4px;background:rgba(255,255,255,.15);border-radius:4px;margin:10px auto 6px;cursor:pointer}.explore-header{display:flex;align-items:center;padding:0 16px 10px;gap:8px;border-bottom:1px solid rgba(255,255,255,.06)}.explore-title{font-size:15px;font-weight:700;color:var(--muted);flex:0 0 auto}.explore-title span{color:var(--gold)}.explore-search{display:flex;align-items:center;gap:6px;background:var(--bg);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 12px;flex:1}.explore-search input{background:0 0;border:none;color:var(--text);font-size:14px;outline:0;width:100%;font-family:inherit}.explore-filters{display:flex;gap:6px;padding:6px 16px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid rgba(255,255,255,.04)}.explore-filters::-webkit-scrollbar{display:none}.explore-chip{padding:6px 14px;border-radius:14px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid;transition:.2s;white-space:nowrap}.explore-chip.active{box-shadow:0 0 8px rgba(255,255,255,.06)}.explore-chip.preistoria{border-color:var(--preistoria);color:var(--preistoria)}.explore-chip.preistoria.active{background:var(--preistoria);color:#1a1a2e}.explore-chip.grecia{border-color:var(--grecia);color:var(--grecia)}.explore-chip.grecia.active{background:var(--grecia);color:#fff}.explore-chip.roma{border-color:var(--roma);color:var(--roma)}.explore-chip.roma.active{background:var(--roma);color:#fff}.explore-chip.bizantino{border-color:var(--bizantino);color:var(--bizantino)}.explore-chip.bizantino.active{background:var(--bizantino);color:#fff}.explore-chip.medievale{border-color:var(--medievale);color:var(--medievale)}.explore-chip.medievale.active{background:var(--medievale);color:#1a1a2e}.explore-chip.multiepoca{border-color:var(--multiepoca);color:var(--multiepoca)}.explore-chip.multiepoca.active{background:var(--multiepoca);color:#1a1a2e}.explore-cards{overflow-y:auto;padding:8px 12px 40px;display:flex;flex-direction:column;gap:6px;-webkit-overflow-scrolling:touch}.explore-card{display:flex;gap:10px;padding:10px;border-radius:var(--radius);background:var(--card);border:1px solid transparent;cursor:pointer;transition:.2s;min-height:70px}.explore-card:active{border-color:var(--accent);transform:scale(.98)}.explore-card .img{width:60px;min-width:60px;height:60px;border-radius:10px;overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;position:relative}.explore-card .img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.explore-card .info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.explore-card .name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.explore-card .meta{display:flex;gap:4px;align-items:center}.explore-card .desc{font-size:10px;color:var(--muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(min-width:768px){.explore-sheet{left:16px;right:auto;width:380px}}.report-panel{position:fixed;inset:0;z-index:3000;display:none;flex-direction:column;background:var(--bg);overflow-y:auto}.report-panel.open{display:flex}.report-header{padding:16px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.report-header h2{flex:1;font-size:18px;font-weight:700}.report-header .close{width:36px;height:36px;border-radius:10px;background:var(--card);border:none;color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.report-body{padding:20px;display:flex;flex-direction:column;gap:16px;flex:1}.report-section{background:var(--card);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.report-section h3{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}.report-section p{font-size:12px;color:var(--muted);line-height:1.4}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{padding:10px 14px;border-radius:10px;background:var(--bg);border:1px solid rgba(255,255,255,.08);color:var(--text);font-size:14px;font-family:inherit;outline:0;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gps-btn{padding:10px 16px;border-radius:10px;background:rgba(78,205,196,.12);color:var(--cyan);border:1px solid rgba(78,205,196,.2);font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s;font-family:inherit}.gps-btn:active{transform:scale(.96)}.gps-btn.success{background:rgba(112,173,71,.12);color:#70ad47;border-color:rgba(112,173,71,.2)}.photo-upload-area{border:2px dashed rgba(255,255,255,.1);border-radius:12px;padding:24px;text-align:center;cursor:pointer;transition:.2s;position:relative}.photo-upload-area:hover{border-color:var(--accent)}.photo-upload-area input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-upload-area .icon{font-size:32px;margin-bottom:6px}.photo-upload-area .text{font-size:12px;color:var(--muted)}.photo-preview{display:flex;gap:8px;flex-wrap:wrap}.photo-preview .thumb{width:60px;height:60px;border-radius:8px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}.submit-btn{padding:14px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:15px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:.2s;font-family:inherit;box-shadow:0 4px 16px rgba(255,107,74,.3)}.submit-btn:active{transform:scale(.97)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn.soprint{background:linear-gradient(135deg,var(--cyan),#38b2ac);box-shadow:0 4px 16px rgba(78,205,196,.3)}.report-success{text-align:center;padding:40px 20px;display:none;flex-direction:column;align-items:center;gap:12px}.report-success.show{display:flex}.report-success .checkmark{width:64px;height:64px;border-radius:50%;background:rgba(112,173,71,.15);display:flex;align-items:center;justify-content:center;font-size:32px;animation:.4s cubic-bezier(.2,.8,.2,1) popIn}@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}.report-success h3{font-size:18px;font-weight:700}.report-success p{font-size:13px;color:var(--muted);max-width:280px;line-height:1.5}.google-signin-btn{padding:14px 28px;border-radius:16px;background:linear-gradient(135deg,rgba(66,133,244,.2),rgba(52,168,224,.2));border:1px solid rgba(66,133,244,.3);color:#4285f4;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:.3s;width:100%;min-height:48px;font-family:inherit;touch-action:manipulation}.google-signin-btn:hover{background:linear-gradient(135deg,rgba(66,133,244,.3),rgba(52,168,224,.3));border-color:rgba(66,133,244,.5)}.google-signin-btn:active{transform:scale(.98)}.google-signin-btn svg{width:20px;height:20px}.profile-panel{position:fixed;inset:0;z-index:3000;display:none;flex-direction:column;background:var(--bg);overflow-y:auto}.profile-panel.open{display:flex}.profile-header{padding:20px;text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--gold));display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 10px;box-shadow:0 4px 20px rgba(255,107,74,.3)}.profile-header h2{font-size:20px;font-weight:700;margin-bottom:4px}.profile-header .rank{font-size:13px;color:var(--gold);font-weight:600}.profile-stats{display:flex;justify-content:center;gap:24px;margin-top:14px}.profile-stat{text-align:center}.profile-stat .num{font-size:22px;font-weight:700;color:var(--accent)}.profile-stat .label{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:600}.profile-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:10px;background:var(--card);border:none;color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.badges-section{padding:20px}.badges-section h3{font-size:14px;font-weight:700;margin-bottom:12px;color:var(--muted)}.badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.badge-card{background:var(--card);border-radius:12px;padding:14px 10px;text-align:center;transition:.2s;border:1px solid transparent}.badge-card.earned{border-color:rgba(255,209,102,.2);background:rgba(255,209,102,.05)}.badge-card.locked{opacity:.4}.badge-card .icon{font-size:28px;margin-bottom:6px;display:block}.badge-card .name{font-size:11px;font-weight:700;margin-bottom:2px}.badge-card .req{font-size:9px;color:var(--muted)}.contributions-section{padding:0 20px 40px}.contributions-section h3{font-size:14px;font-weight:700;margin-bottom:12px;color:var(--muted)}.contribution-item{display:flex;gap:10px;padding:10px;background:var(--card);border-radius:10px;margin-bottom:6px;align-items:center}.contribution-item .type{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.contribution-item .info{flex:1;min-width:0}.contribution-item .info .title{font-size:12px;font-weight:600}.contribution-item .info .date{font-size:10px;color:var(--muted)}.contribution-item .pts{font-size:13px;font-weight:700;color:var(--gold)}@media(min-width:768px){.profile-panel,.report-panel{left:auto;right:0;width:440px;border-left:1px solid rgba(255,255,255,.06)}}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:950;background:var(--surface);border-top:1px solid rgba(255,255,255,.06);padding:10px 0 calc(10px + env(safe-area-inset-bottom));backdrop-filter:blur(16px);transition:transform .3s;min-height:72px}body.light .mobile-nav{background:rgba(255,255,255,.95);border-top:1px solid rgba(0,0,0,.08)}.mobile-nav-items{display:flex;justify-content:space-around;align-items:center;max-width:420px;margin:0 auto}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px;border:none;background:0 0;cursor:pointer;color:var(--muted);font-size:14px;font-weight:700;font-family:inherit;transition:.2s;-webkit-tap-highlight-color:transparent;min-width:64px;min-height:68px;justify-content:center;touch-action:manipulation}.mobile-nav-item .nav-icon{font-size:32px;line-height:1;transition:transform .2s}.mobile-nav-item.active{color:var(--accent)}.mobile-nav-item.active .nav-icon{transform:scale(1.15)}.mobile-nav-item.nav-ai{position:relative}.mobile-nav-item.nav-ai .nav-icon{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#6c5ce7,#a29bfe);display:flex;align-items:center;justify-content:center;font-size:26px;margin-top:-20px;box-shadow:0 4px 16px rgba(108,92,231,.4);color:#fff}.mobile-nav-item.nav-ai span:last-child{color:#a29bfe;margin-top:-2px}.community-panel{position:fixed;inset:0;z-index:1200;background:var(--bg);transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);overflow-y:auto;padding:0}.community-panel.open{transform:translateX(0)}.community-header{position:sticky;top:0;z-index:10;padding:16px 20px;background:var(--surface);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between}.community-section{padding:16px 20px}.community-card{background:var(--card);border-radius:16px;padding:18px;margin-bottom:14px;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:.3s}.community-card:hover{transform:translateY(-2px);border-color:var(--accent)}.community-card h3{font-size:17px;font-weight:800;margin-bottom:6px;color:var(--text)}.community-card p{font-size:14px;color:var(--muted);line-height:1.5}.community-card .meta{display:flex;gap:12px;margin-top:10px;font-size:12px;color:var(--muted)}.community-card .meta span{display:flex;align-items:center;gap:4px}.community-badge{display:inline-block;padding:4px 10px;border-radius:10px;font-size:11px;font-weight:700}.community-cta{width:100%;padding:16px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:16px;font-weight:700;border:none;cursor:pointer;margin-top:12px;transition:.3s}.community-cta:active{transform:scale(.97)}.photo-vote-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg);z-index:1000;display:none;flex-direction:column;overflow:hidden}.photo-vote-overlay.active{display:flex}.photo-vote-overlay.light{background:#f8f8fb}.vote-counter-bar{display:flex;justify-content:space-between;align-items:center;padding:16px;background:linear-gradient(135deg,var(--card),var(--card2));border-bottom:1px solid rgba(255,107,74,.2)}.vote-counter-bar.light{background:linear-gradient(135deg,#f0f0f8,#e8e8fc);border-bottom-color:rgba(255,107,74,.1)}.vote-counter-text{font-size:14px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px}.vote-counter-text.light{color:#7a7a9e}.vote-count{font-size:20px;color:var(--accent);font-weight:700}.close-vote-btn{background:0 0;border:none;color:var(--text);font-size:24px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;transition:background .2s}.close-vote-btn:hover{background:rgba(255,107,74,.1)}.close-vote-btn.light:hover{background:rgba(255,107,74,.08)}.vote-card-container{flex:1;display:flex;align-items:center;justify-content:center;padding:0 16px 16px;touch-action:pan-y}.vote-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:380px;padding:20px;text-align:center;transform:translateX(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1);cursor:grab;user-select:none}.vote-card.light{background:#fff;box-shadow:0 8px 32px rgba(0,0,0,.08)}.vote-card.swiping{transition:none}.vote-card.swipe-left{transform:translateX(-500px) rotate(-20deg);opacity:0}.vote-card.swipe-right{transform:translateX(500px) rotate(20deg);opacity:0}.vote-card-photo{width:100%;height:280px;object-fit:cover;border-radius:calc(var(--radius) - 8px);margin-bottom:16px;border:1px solid rgba(255,107,74,.2)}.vote-card-photo.light{border-color:rgba(255,107,74,.15)}.vote-card-site{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px}.vote-card-site.light{color:#0a0a18}.vote-card-meta{font-size:13px;color:var(--muted);margin-bottom:20px}.vote-card-meta.light{color:#8a8aa8}.vote-label{position:absolute;font-size:32px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;top:50%;transform:translateY(-50%)}.vote-label.like{left:20px;color:var(--accent)}.vote-label.skip{right:20px;color:var(--muted)}.vote-card.swipe-left .vote-label.skip,.vote-card.swipe-right .vote-label.like{opacity:1}.vote-buttons{display:flex;gap:12px;justify-content:center;margin-top:20px}.vote-btn{flex:1;padding:12px 16px;border:none;border-radius:calc(var(--radius) - 8px);font-size:14px;font-weight:600;cursor:pointer;transition:.3s;text-transform:uppercase;letter-spacing:.6px}.vote-btn.like-btn{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;position:relative;overflow:hidden}.vote-btn.like-btn:active{transform:scale(.95)}.vote-btn.skip-btn{background:0 0;color:var(--muted);border:2px solid var(--muted)}.vote-btn.skip-btn:hover{background:rgba(106,106,142,.1);border-color:var(--text);color:var(--text)}.vote-btn.skip-btn.light{color:#8a8aa8;border-color:#8a8aa8}.vote-btn.skip-btn.light:hover{background:rgba(106,106,142,.05);border-color:#0a0a18;color:#0a0a18}@keyframes heartBeat{0%,100%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.05) rotate(-3deg)}}@keyframes heartFloat{0%{transform:translate(0,0);opacity:1}100%{transform:translate(0,-100px);opacity:0}}.like-btn.heart-animate::before{content:'♥';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;animation:.6s heartBeat}.rewards-shop{position:fixed;top:0;right:-100%;width:100%;max-width:480px;height:100%;background:var(--bg);box-shadow:-8px 0 32px rgba(0,0,0,.5);z-index:900;transition:right .4s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;overflow:hidden}.rewards-shop.active{right:0}.rewards-shop.light{background:#f8f8fb;box-shadow:-8px 0 32px rgba(0,0,0,.08)}.rewards-shop-header{padding:20px;background:linear-gradient(135deg,var(--card),var(--card2));border-bottom:1px solid rgba(255,211,102,.2);display:flex;justify-content:space-between;align-items:center}.rewards-shop-header.light{background:linear-gradient(135deg,#f0f0f8,#e8e8fc);border-bottom-color:rgba(255,211,102,.15)}.rewards-shop-title{font-size:20px;font-weight:700;color:var(--text)}.rewards-shop-title.light{color:#0a0a18}.close-shop-btn{background:0 0;border:none;color:var(--text);font-size:24px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;transition:background .2s}.close-shop-btn:hover{background:rgba(255,107,74,.1)}.points-balance{padding:16px 20px;background:rgba(255,211,102,.1);border-bottom:1px solid rgba(255,211,102,.2);display:flex;align-items:center;gap:8px}.points-balance.light{background:rgba(255,211,102,.05);border-bottom-color:rgba(255,211,102,.15)}.points-balance-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.points-balance-value{font-size:24px;font-weight:700;color:var(--gold)}.rewards-grid{flex:1;overflow-y:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.reward-card{background:var(--card);border-radius:var(--radius);padding:16px;text-align:center;border:2px solid transparent;transition:.3s;cursor:pointer;position:relative}.reward-card.light{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.05)}.reward-card:hover:not(.locked):not(.redeemed){border-color:var(--accent);background:var(--card2);transform:translateY(-4px)}.reward-card.locked{opacity:.5;cursor:not-allowed}.reward-card.redeemed{border-color:var(--cyan);background:rgba(78,205,196,.1);cursor:default}.reward-card.redeemed.light{background:rgba(78,205,196,.08)}.reward-icon{font-size:36px;margin-bottom:8px;display:block}.reward-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.3}.reward-name.light{color:#0a0a18}.reward-cost{font-size:12px;color:var(--gold);margin-bottom:8px;font-weight:700}.redeem-btn{width:100%;padding:8px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;border-radius:calc(var(--radius) - 12px);font-size:11px;font-weight:700;cursor:pointer;transition:.3s;text-transform:uppercase;letter-spacing:.4px}.redeem-btn:hover{transform:scale(1.05)}.redeem-btn:active{transform:scale(.95)}.redeem-btn.locked{background:rgba(106,106,142,.3);color:var(--muted);cursor:not-allowed;font-size:10px}.redeemed-checkmark{position:absolute;top:8px;right:8px;width:24px;height:24px;background:var(--cyan);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--bg);font-size:14px;font-weight:700}.exit-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);z-index:950;display:none;align-items:center;justify-content:center;animation:.3s fadeIn}.exit-dialog-overlay.active{display:flex}.exit-dialog-overlay.light{background:rgba(0,0,0,.5)}.exit-dialog{background:linear-gradient(135deg,var(--card),var(--card2));border-radius:var(--radius);padding:32px;max-width:360px;text-align:center;box-shadow:var(--shadow);animation:.4s cubic-bezier(.34,1.56,.64,1) slideUp;border:1px solid rgba(255,211,102,.2)}.exit-dialog.light{background:linear-gradient(135deg,#fff,#f8f8fb);border-color:rgba(255,211,102,.1)}@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.exit-dialog-title{font-size:24px;font-weight:700;color:var(--text);margin-bottom:12px}.exit-dialog-title.light{color:#0a0a18}.exit-dialog-incentive{font-size:14px;color:var(--muted);margin-bottom:16px;line-height:1.6}.exit-dialog-incentive.light{color:#7a7a9e}.exit-dialog-summary{background:rgba(255,107,74,.1);border-radius:calc(var(--radius) - 8px);padding:16px;margin-bottom:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.exit-dialog-summary.light{background:rgba(255,107,74,.05)}.summary-item{text-align:center}.summary-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px}.summary-label.light{color:#8a8aa8}.summary-value{font-size:20px;font-weight:700;color:var(--accent)}.exit-dialog-buttons{display:flex;gap:12px}.exit-dialog-btn{flex:1;padding:12px 16px;border:none;border-radius:calc(var(--radius) - 8px);font-size:14px;font-weight:700;cursor:pointer;transition:.3s;text-transform:uppercase;letter-spacing:.6px}.exit-dialog-btn.resta{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}.exit-dialog-btn.resta:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(255,107,74,.3)}.exit-dialog-btn.resta:active{transform:translateY(0)}.exit-dialog-btn.esci{background:0 0;color:var(--muted);border:2px solid var(--muted)}.exit-dialog-btn.esci:hover{border-color:var(--text);color:var(--text);background:rgba(106,106,142,.1)}.exit-dialog-btn.esci.light{color:#8a8aa8;border-color:#8a8aa8}.exit-dialog-btn.esci.light:hover{border-color:#0a0a18;color:#0a0a18;background:rgba(0,0,0,.05)}.ai-generate-btn{position:relative;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:calc(var(--radius) - 8px);font-size:13px;font-weight:700;cursor:pointer;transition:.3s;text-transform:uppercase;letter-spacing:.6px;overflow:hidden;display:flex;align-items:center;gap:8px;animation:2s ease-in-out infinite glow-pulse}.ai-generate-btn.light{background:linear-gradient(135deg,#6366f1,#8b5cf6)}@keyframes glow-pulse{0%,100%{box-shadow:0 0 12px rgba(99,102,241,.4),0 4px 16px rgba(99,102,241,.2)}50%{box-shadow:0 0 24px rgba(99,102,241,.6),0 4px 20px rgba(99,102,241,.3)}}.ai-generate-btn:hover:not(.loading):not(.success){transform:translateY(-2px);box-shadow:0 0 24px rgba(99,102,241,.7),0 8px 24px rgba(99,102,241,.4)}.ai-generate-btn:active:not(.loading):not(.success){transform:translateY(0)}.ai-generate-btn.loading{pointer-events:none;opacity:.9}.loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-generate-btn.loading .btn-text::after{content:'';display:inline-block;width:4px;height:4px;background:#fff;border-radius:50%;margin-left:6px;animation:1.4s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,100%{opacity:.3}50%{opacity:1}}.ai-generate-btn.success{background:linear-gradient(135deg,#10b981,#34d399);pointer-events:none}.success-checkmark{display:inline-block;width:16px;height:16px;border:2px solid #fff;border-right:none;border-top:none;border-radius:2px;transform:rotate(-45deg);animation:.6s checkFade}@keyframes checkFade{from{transform:rotate(-45deg) scale(.5);opacity:0}to{transform:rotate(-45deg) scale(1);opacity:1}}.upload-fab-prominent{bottom:100px;right:20px;width:64px;height:64px;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:50%;color:#fff;font-size:28px;cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;z-index:100;transition:.3s;animation:2s ease-in-out infinite float-pulse;position:relative}.upload-fab-prominent.light{box-shadow:0 8px 32px rgba(255,107,74,.2)}@keyframes float-pulse{0%,100%{transform:translateY(0);box-shadow:var(--shadow)}50%{transform:translateY(-8px);box-shadow:0 12px 40px rgba(255,107,74,.4)}}.upload-fab-prominent:hover{transform:scale(1.1)}.upload-fab-prominent:active{transform:scale(.95)}.upload-fab-badge{position:absolute;top:-8px;right:-8px;background:var(--gold);color:var(--bg);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 4px 12px rgba(255,211,102,.4);animation:.6s cubic-bezier(.34,1.56,.64,1) badge-scale}@keyframes badge-scale{from{transform:scale(0)}to{transform:scale(1)}}.rewards-badge{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(255,211,102,.2),rgba(255,211,102,.1));padding:6px 12px;border-radius:calc(var(--radius) - 12px);border:1px solid rgba(255,211,102,.3);cursor:pointer;transition:.3s;position:relative}.rewards-badge.light{background:linear-gradient(135deg,rgba(255,211,102,.15),rgba(255,211,102,.08));border-color:rgba(255,211,102,.2)}.rewards-badge:hover{background:linear-gradient(135deg,rgba(255,211,102,.3),rgba(255,211,102,.2));border-color:rgba(255,211,102,.5);transform:scale(1.05)}.rewards-badge.light:hover{background:linear-gradient(135deg,rgba(255,211,102,.2),rgba(255,211,102,.12));border-color:rgba(255,211,102,.4)}.rewards-badge-icon{font-size:16px}.rewards-badge-count{font-size:12px;font-weight:700;color:var(--gold)}.rewards-badge-dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));border:2px solid var(--bg);border-radius:50%;animation:2s ease-in-out infinite dot-pulse-badge}.rewards-badge-dot.light{border-color:#f8f8fb}@keyframes dot-pulse-badge{0%,100%{transform:scale(1);box-shadow:0 0 6px rgba(255,107,74,.4)}50%{transform:scale(1.2);box-shadow:0 0 12px rgba(255,107,74,.6)}}.rewards-grid::-webkit-scrollbar{width:6px}.rewards-grid::-webkit-scrollbar-track{background:0 0}.rewards-grid::-webkit-scrollbar-thumb{background:rgba(255,107,74,.3);border-radius:3px}.rewards-grid::-webkit-scrollbar-thumb:hover{background:rgba(255,107,74,.5)}.rewards-grid.light::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1)}.rewards-grid.light::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s;pointer-events:none}.onboarding-overlay.active{opacity:1;pointer-events:auto}.onb-card{background:var(--surface);border-radius:20px;padding:32px 24px;max-width:340px;width:90%;text-align:center;transform:translateY(20px);transition:transform .4s;border:1px solid rgba(255,255,255,.08)}.onboarding-overlay.active .onb-card{transform:translateY(0)}.onb-icon{font-size:48px;margin-bottom:16px}.onb-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px}.onb-desc{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:20px}.onb-dots{display:flex;gap:6px;justify-content:center;margin-bottom:20px}.onb-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.15);transition:.3s}.onb-dot.active{background:var(--accent);width:20px;border-radius:4px}.onb-btn{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:14px 32px;font-size:15px;font-weight:600;cursor:pointer;width:100%;transition:transform .15s}.onb-btn:active{transform:scale(.97)}.onb-skip{background:0 0;border:none;color:var(--muted);font-size:13px;margin-top:12px;cursor:pointer;padding:8px}.streak-banner{position:fixed;top:60px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#e8734a,#d4553a);color:#fff;padding:10px 20px;border-radius:14px;font-size:14px;font-weight:600;z-index:9998;box-shadow:0 4px 20px rgba(232,115,74,.4);display:flex;align-items:center;gap:8px;opacity:0;transform:translateX(-50%) translateY(-20px);transition:.4s;white-space:nowrap}.streak-banner.show{opacity:1;transform:translateX(-50%) translateY(0)}.lb-panel{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg);z-index:5000;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column}.lb-panel.open{transform:translateX(0)}.lb-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.lb-tabs{display:flex;gap:0;background:rgba(255,255,255,.04);border-radius:10px;margin:12px 16px;padding:3px}.lb-tab{flex:1;padding:8px;text-align:center;border-radius:8px;font-size:13px;color:var(--muted);cursor:pointer;background:0 0;border:none;transition:.2s}.lb-tab.active{background:var(--accent);color:#fff;font-weight:600}.lb-list{flex:1;overflow-y:auto;padding:0 16px 16px}.lb-item{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.04);border-radius:12px;padding:12px;margin-bottom:8px;transition:background .2s}.lb-item.me{background:rgba(232,115,74,.15);border:1px solid rgba(232,115,74,.3)}.lb-rank{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.lb-rank.gold{background:linear-gradient(135deg,#f0c040,#d4a020);color:#fff}.lb-rank.silver{background:linear-gradient(135deg,silver,#a0a0a0);color:#fff}.lb-rank.bronze{background:linear-gradient(135deg,#cd7f32,#b5651d);color:#fff}.lb-rank.normal{background:rgba(255,255,255,.08);color:var(--muted)}.lb-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.lb-info{flex:1;min-width:0}.lb-name{font-size:14px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-meta{font-size:11px;color:var(--muted)}.lb-score{text-align:right}.lb-pts{font-size:16px;font-weight:700;color:var(--gold)}.lb-streak-badge{font-size:11px;color:var(--accent)}.nl-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:9999;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}.nl-modal.show{opacity:1;pointer-events:auto}.nl-card{background:var(--surface);border-radius:20px 20px 0 0;padding:28px 24px 32px;width:100%;max-width:420px;transform:translateY(100%);transition:transform .35s;border:1px solid rgba(255,255,255,.08);border-bottom:none}.nl-modal.show .nl-card{transform:translateY(0)}.nl-emoji{font-size:40px;text-align:center;margin-bottom:12px}.nl-title{font-size:18px;font-weight:700;color:var(--text);text-align:center;margin-bottom:6px}.nl-sub{font-size:13px;color:var(--muted);text-align:center;margin-bottom:20px;line-height:1.4}.nl-input{width:100%;padding:14px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text);font-size:15px;margin-bottom:12px;box-sizing:border-box}.nl-input:focus{outline:0;border-color:var(--accent)}.nl-submit{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .15s}.nl-submit:active{transform:scale(.97)}.nl-close{background:0 0;border:none;color:var(--muted);font-size:13px;margin-top:12px;cursor:pointer;padding:8px;width:100%;text-align:center}.streak-fire{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(135deg,rgba(232,115,74,.2),rgba(232,115,74,.1));padding:4px 10px;border-radius:8px;font-size:13px;font-weight:600;color:var(--accent)}

/* === Hide view-toggle and list (both web and mobile) === */
.view-toggle{display:none!important}
.explore-sheet{display:none!important}



/* OSM marker pulse */
@keyframes osmPulse{0%,100%{box-shadow:0 4px 14px rgba(78,205,196,.45)}50%{box-shadow:0 4px 20px rgba(78,205,196,.7),0 0 0 8px rgba(78,205,196,.15)}}

/* OSM popup & toast animations */
@keyframes popBounce{0%{transform:scale(0) rotate(-10deg)}50%{transform:scale(1.3) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
@keyframes sparkFade{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(2)}}
.osm-popup .leaflet-popup-content-wrapper{border-radius:16px!important;box-shadow:0 8px 32px rgba(0,0,0,.15)!important}
.osm-popup .leaflet-popup-tip{display:none}

/* Dopaminic photo upload button animations */
@keyframes photoGlow{
  0%,100%{box-shadow:0 6px 24px rgba(255,165,0,.4),0 0 0 0 rgba(255,215,0,.4)}
  50%{box-shadow:0 8px 32px rgba(255,165,0,.6),0 0 0 8px rgba(255,215,0,.15)}
}
@keyframes photoShine{
  0%{transform:translateX(-100%)}
  50%,100%{transform:translateX(100%)}
}
@keyframes osmPulse{
  0%,100%{transform:scale(1);box-shadow:0 4px 14px rgba(212,168,67,.5)}
  50%{transform:scale(1.1);box-shadow:0 6px 20px rgba(212,168,67,.7),0 0 0 8px rgba(212,168,67,.15)}
}
/* Nominatim autocomplete scrollbar */
#nominatimAutocomplete::-webkit-scrollbar{width:4px}
#nominatimAutocomplete::-webkit-scrollbar-track{background:transparent}
#nominatimAutocomplete::-webkit-scrollbar-thumb{background:rgba(78,205,196,.3);border-radius:2px}

/* Trip Bubble Navigation */
@keyframes bubblePop{
  0%{opacity:0;transform:scale(0)}
  60%{transform:scale(1.15)}
  100%{opacity:1;transform:scale(1)}
}
.trip-bubble:active{transform:scale(.92)!important;transition:transform .1s!important}
#tripBubbleOverlay{scrollbar-width:none}
#tripBubbleOverlay::-webkit-scrollbar{display:none}
/* v118-44-c10 Cluster 10 Patch 2 — banner overlay sotto tier-bar (env+144), allineato a #map top (overlay su mappa, pattern condiviso con #trailBanner/#alignmentBanner). */
#sentieriBanner,#alignmentBanner,#megaFilterBanner{top:calc(env(safe-area-inset-top,0px) + 150px) !important}@media (max-width:380px){#sentieriBanner,#alignmentBanner,#megaFilterBanner{top:calc(env(safe-area-inset-top,0px) + 144px) !important}}@media (min-width:601px){#sentieriBanner,#alignmentBanner,#megaFilterBanner{top:72px !important}}
