:root{--green:#6495ED;--green2:#4F7FD4;--sage:#DDE8FF;--lav:#F0E6FF;--cream:#FFF6DB;--paper:#FFFDF8;--ink:#2D3B59;--muted:#6E7893;--line:#D7E1F0;--gold:#F2C66D;--rose:#FFE4EF;--shadow:0 10px 28px rgba(82,110,173,.14)}
.logo img{width:50px;height:50px;display:block}
*{box-sizing:border-box}html{background:var(--cream)}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#eef5ff 0,#f9f2ff 40%,#fff8e7 100%);min-height:100vh;overscroll-behavior-x:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{max-width:1000px;margin:auto;padding:0 14px 96px}.hero{padding:22px 3px 12px}.brandline{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;gap:11px;align-items:center}.logo{width:52px;height:52px;border-radius:17px;background:#fffdf8;display:grid;place-items:center;box-shadow:var(--shadow);border:1px solid #dbe4f2;overflow:hidden}.logo svg{width:48px;height:48px;display:block}h1{font-size:25px;line-height:1.05;margin:0}.sub{font-size:13px;color:var(--muted);margin:5px 0 0}.install{display:none;border:0;background:#fff;color:var(--green);font-weight:800;padding:10px 13px;border-radius:999px;box-shadow:var(--shadow)}.heroCard{margin-top:14px;background:var(--green);color:#fff;padding:18px;border-radius:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.heroCard:after{content:"";width:170px;height:170px;background:rgba(255,255,255,.055);border-radius:50%;position:absolute;right:-60px;top:-65px}.heroCard strong{font-size:20px;display:block}.heroCard span{display:block;font-size:13px;line-height:1.45;opacity:.86;margin-top:5px;max-width:650px}.stats{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.stat{background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);padding:7px 9px;border-radius:999px;font-size:11px;font-weight:750}.tabs{position:sticky;top:0;z-index:40;background:rgba(255,250,242,.93);backdrop-filter:blur(14px);display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:10px 0 12px}.tab{border:1px solid var(--line);background:rgba(255,255,255,.88);border-radius:14px;padding:10px 5px;color:var(--muted);font-size:11px;font-weight:800}.tab.active{background:var(--green);color:white;border-color:var(--green)}.panel{display:none}.panel.active{display:block}.toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:8px;margin:4px 0 8px;align-items:stretch}.search{border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:#fff;outline:none;color:var(--ink);min-width:0}.filterBtn,.primary,.secondary,.smallbtn,.danger{border:0;border-radius:14px;font-weight:800}.filterBtn,.secondary,.smallbtn{background:#fff;color:var(--green);border:1px solid var(--line)}.filterBtn{padding:11px 14px}.filterDrop{position:relative}.filterDrop summary{list-style:none;user-select:none;height:100%;display:flex;align-items:center;justify-content:center}.filterDrop summary::-webkit-details-marker{display:none}.filterPanel{position:absolute;right:0;top:calc(100% + 7px);z-index:45;width:min(390px,calc(100vw - 24px));padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 45px rgba(74,96,153,.18)}.filterPanel h3{margin:0 42px 11px 0;font-size:16px}.filterClose{position:absolute;right:12px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:#eef4ff;color:var(--green);font-size:20px;font-weight:900;display:grid;place-items:center;z-index:3}
.filterGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.filterSections{display:grid;gap:14px}
.filterSection{border-top:1px solid #e7ebf4;padding-top:12px}.filterSection:first-child{border-top:0;padding-top:0}
.filterLabel{font-size:12px;font-weight:900;color:var(--ink);margin-bottom:8px}
.filterHelp{font-size:10px;color:var(--muted);font-weight:600;margin-left:5px}
.filterChips{display:flex;gap:7px;flex-wrap:wrap}
.filterChip{padding:8px 10px;font-size:11px}
.sortOnly{margin-bottom:13px}
.filterActions{display:flex;gap:8px;margin-top:11px}.filterActions button{flex:1}.activeFilters{font-size:11px;color:var(--green);font-weight:800;margin-top:8px}.primary{background:var(--green);color:#fff;padding:12px 15px}.secondary{padding:11px 14px}.danger{background:#ffe9ef;color:#8a4f62;padding:11px 14px}.smallbtn{padding:8px 10px;font-size:12px}.chips{display:flex;gap:7px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:8px 11px;border-radius:999px;font-size:12px;font-weight:750;color:var(--muted)}.chip.on{background:var(--lav);border-color:#d5c6e0;color:#594363}.metaRow{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin:2px 2px 9px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{background:rgba(255,255,255,.94);border:1px solid rgba(221,227,223,.96);border-radius:20px;padding:0 15px 15px;box-shadow:0 7px 20px rgba(82,110,173,.09);position:relative;overflow:hidden}.cardImage{height:176px;margin:0 -15px 13px;background:linear-gradient(135deg,#e4eeff,#f4e9ff);position:relative;overflow:hidden}.cardImage img,.detailHero img{width:100%;height:100%;object-fit:cover;display:block}.imageFallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:40px;background:linear-gradient(135deg,#e4eeff,#f4e9ff);color:var(--green)}.imageFallback small{font-size:11px;font-weight:800;letter-spacing:.02em;color:#68779a}.imageCredit{position:absolute;right:7px;bottom:6px;background:rgba(43,60,97,.74);color:#fff;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:700;z-index:2}.photoMine{position:absolute;left:8px;bottom:7px;background:rgba(255,253,248,.93);color:#4f67a4;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:850;z-index:3}.photoHuntBox{background:linear-gradient(135deg,#eef5ff,#faf0ff);border:1px dashed #b9c8e8;border-radius:17px;padding:13px;margin:13px 0}.photoHuntBox strong{display:block}.photoHuntBox p{font-size:12px;color:var(--muted);line-height:1.45;margin:4px 0 10px}.photoActions{display:flex;gap:8px;flex-wrap:wrap}.photoActions>*{flex:1;min-width:140px}.card h3{font-size:17px;margin:0 28px 2px 0}.detailHero{height:245px;margin:-2px 0 14px;border-radius:17px;overflow:hidden;position:relative;background:linear-gradient(135deg,#dfe9e2,#ece4ef)}.area{font-size:12px;color:var(--muted);margin-bottom:9px}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{font-size:11px;padding:5px 8px;border-radius:999px;background:var(--cream);color:#52607a}.badge.green{background:var(--sage);color:#3d5b8f}.badge.lav{background:var(--lav);color:#62508d}.badge.gold{background:#f5ead5;color:#846633}.badge.rose{background:var(--rose);color:#8b5d71}.why{font-size:13px;line-height:1.43;color:#3e4a46;margin:10px 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.actions{display:flex;gap:7px;flex-wrap:wrap}.smallbtn.added{background:var(--green);color:#fff}.sectionTitle{font-size:20px;margin:8px 0 4px}.sectionIntro{font-size:13px;line-height:1.48;color:var(--muted);margin:0 0 14px}.box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;margin-bottom:12px;box-shadow:0 7px 20px rgba(32,55,48,.05)}.privacy{background:#edf4ff;border-left:4px solid var(--green2);border-radius:14px;padding:11px 12px;margin:10px 0;font-size:12px;line-height:1.45;color:#45524d}.warn{background:#fff6de;border-left-color:var(--gold)}.progress{font-size:12px;color:var(--muted);margin-top:9px;line-height:1.45}.progress:empty{display:none}.nearResults{display:grid;gap:9px;margin-top:10px}.nearItem,.suggestion{border:1px solid var(--line);border-radius:15px;padding:11px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.nearItem strong,.suggestion strong{display:block}.nearItem small,.suggestion small{display:block;color:var(--muted);margin-top:3px;line-height:1.35}.distance,.detour{white-space:nowrap;background:var(--sage);color:#315044;padding:7px 9px;border-radius:999px;font-size:11px;font-weight:850}.formgrid{display:grid;grid-template-columns:2fr 1fr;gap:9px}.field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-weight:850;margin:0 0 5px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff;color:var(--ink)}.field textarea{min-height:76px;resize:vertical}.buildActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.buildActions button{flex:1;min-width:135px}.itinList{display:grid;gap:8px}.itin{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:var(--cream)}.itinNum{width:29px;height:29px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:850}.itinText{flex:1}.itinText strong{font-size:13px;display:block}.itinText span{font-size:11px;color:var(--muted)}.planTag{display:inline-block;margin-top:4px;padding:3px 6px;border-radius:999px;background:var(--lav);color:#624d78;font-size:9px;font-weight:900}.planTag.main{background:var(--sage);color:#36547f}.routeExplain{margin:11px 0 3px;padding:10px 11px;border-radius:13px;background:#f7f9ff;border:1px solid #e0e7f4;font-size:11px;line-height:1.45;color:var(--muted)}.stopButtons{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.stopButtons button,.stopButtons a{flex:1;min-width:84px;text-align:center}.stopType{display:inline-block;margin-top:4px;font-size:10px;font-weight:850;color:#596b94}.mainAdventureBox{background:linear-gradient(135deg,#eef5ff,#faf0ff);border:1px solid #d9e2f2;border-radius:17px;padding:12px;margin-bottom:10px}.remove{border:0;background:transparent;font-size:19px;color:#855}.eventCard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px;margin-bottom:10px;box-shadow:0 7px 20px rgba(82,110,173,.08)}.eventDate{font-size:12px;color:var(--green);font-weight:850;margin-bottom:4px}.eventCard h3{margin:0 0 2px;font-size:17px}.eventMeta{font-size:12px;color:var(--muted);margin-bottom:9px}.mineTools{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:2px 0 10px;flex-wrap:wrap}.mineTools .field{min-width:180px;flex:0 1 240px}.backupBtns{display:flex;gap:8px;flex-wrap:wrap}.backupBtns>*{flex:1;min-width:150px}.empty{border:1px dashed #cbd5d0;border-radius:19px;background:#fff;padding:24px;text-align:center;color:var(--muted);font-size:13px}.drawer{position:fixed;z-index:100;inset:0;display:none}.drawer.open{display:block}.shade{position:absolute;inset:0;background:rgba(43,60,97,.38);backdrop-filter:blur(3px)}.sheet{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(720px,100%);max-height:91vh;overflow:auto;background:var(--paper);border-radius:24px 24px 0 0;padding:18px 18px 30px;box-shadow:0 -16px 50px rgba(0,0,0,.18)}.handle{width:52px;height:5px;border-radius:10px;background:#ccd4d0;margin:0 auto 13px}.close{position:absolute;right:14px;top:14px;width:35px;height:35px;border:0;background:#eef4ff;border-radius:50%}.sheet h2{margin:0 42px 2px 0}.detailArea{font-size:13px;color:var(--muted)}.detailGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.detail{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.detail b{font-size:11px;color:var(--muted);display:block;margin-bottom:3px}.detail span{font-size:13px}.detailText{font-size:13px;line-height:1.5;margin:13px 0}.editbox{background:var(--lav);border-radius:17px;padding:13px;margin:14px 0}.toggleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font-size:13px;font-weight:800}.nudgeBox{background:linear-gradient(135deg,#eef5ff,#faf0ff)}.nudgeGrid{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.nudgeChip{border:1px solid #d6deed;background:#fff;color:#56627f;border-radius:999px;padding:9px 10px;font-size:11px;font-weight:850}.nudgeChip.on{background:var(--lav);border-color:#cbbbe5;color:#594363}.nudgeState{font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px;background:#eceff6;color:#6e7893}.nudgeState.on{background:var(--sage);color:#3d5b8f}.nudgeMatch{border:1px solid var(--line);border-radius:15px;padding:11px;background:#fff}.nudgeWhy{font-size:10px;color:#5d6d92;font-weight:800;margin-top:4px}.nudgeNote{font-size:11px;line-height:1.45;color:var(--muted);margin-top:9px}.switch{width:48px;height:28px;border-radius:999px;background:#cfd7d3;position:relative;border:0}.switch:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:white;left:3px;top:3px;transition:.2s}.switch.on{background:var(--green)}.switch.on:after{left:23px}.weatherBox{background:linear-gradient(135deg,#e6f0ff,#f3ebff);border-radius:17px;padding:13px;margin:13px 0}.weatherBox strong{display:block}.weatherBox span{font-size:12px;color:var(--muted)}.weatherControls{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:8px;align-items:end;margin-top:10px}.weatherResult{margin-top:9px;padding-top:9px;border-top:1px solid rgba(100,149,237,.18);font-size:12px;line-height:1.5;color:var(--ink)}.weatherResult .weatherBig{display:block;font-size:16px;font-weight:900;margin-bottom:3px}.weatherResult .weatherNote{display:block;color:var(--muted);font-size:11px;margin-top:5px}.tripCard{border:1px solid var(--line);background:#fff;border-radius:17px;padding:12px;margin-top:9px}.tripHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.tripHead strong{display:block}.tripMeta{font-size:11px;color:var(--muted);margin-top:3px}.tripPlaces{display:grid;gap:6px;margin-top:10px}.tripPlace{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:12px;background:#f8faff}.tripPlace span{flex:1;font-size:12px;font-weight:750}.tripEmpty{font-size:11px;color:var(--muted);margin-top:9px}.forecastPill{display:inline-block;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;margin-top:6px;background:var(--sage);color:#49638d}.forecastPill.early{background:var(--cream);color:#7a6030}.tripModal{position:fixed;z-index:190;inset:0;display:none;align-items:center;justify-content:center;padding:18px}.tripModal.open{display:flex}.tripShade{position:absolute;inset:0;background:rgba(43,60,97,.42);backdrop-filter:blur(4px)}.tripBox{position:relative;z-index:2;width:min(480px,100%);max-height:88vh;overflow:auto;background:var(--paper);border-radius:22px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.tripBox h3{margin:0 42px 4px 0;font-size:19px}.tripBox p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.45}.tripChoice{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.footerNav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(255,253,250,.96);backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:none}.calModal{position:fixed;z-index:180;inset:0;display:none;align-items:center;justify-content:center;padding:18px}.calModal.open{display:flex}.calShade{position:absolute;inset:0;background:rgba(43,60,97,.42);backdrop-filter:blur(4px)}.calBox{position:relative;z-index:2;width:min(470px,100%);background:var(--paper);border-radius:22px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.calBox h3{margin:0 42px 4px 0;font-size:19px}.calBox p{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.45}.calClose{position:absolute;right:13px;top:13px;width:34px;height:34px;border:0;background:#eef4ff;border-radius:50%;font-size:20px}.calActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.calActions>*{flex:1;min-width:150px;text-align:center}
.toast{position:fixed;z-index:200;left:50%;transform:translateX(-50%);bottom:84px;background:#1f302a;color:#fff;padding:10px 14px;border-radius:999px;font-size:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1}
.nearResults .suggestion{background:linear-gradient(135deg,rgba(221,232,255,.72),rgba(240,230,255,.46) 58%,rgba(255,253,248,.82));border-color:rgba(151,177,232,.58);box-shadow:0 12px 28px rgba(82,110,173,.13),inset 0 1px 0 rgba(255,255,255,.78);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);color:var(--ink)}
.discoverLocation{display:grid;grid-template-columns:minmax(170px,1fr) minmax(260px,1.45fr);gap:10px;align-items:center;margin:0 0 10px;padding:11px 12px;border:1px solid rgba(199,213,237,.74);border-radius:18px;background:linear-gradient(145deg,rgba(255,253,248,.82),rgba(221,232,255,.5));box-shadow:0 12px 28px rgba(82,110,173,.09),inset 0 1px 0 rgba(255,255,255,.74)}
.discoverLocation strong{display:block;font-size:13px;line-height:1.15;color:var(--ink)}
.discoverLocation small{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:var(--muted)}
.discoverLocationControls{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:7px;align-items:center}
.discoverLocationControls input{min-width:0;border:1px solid rgba(199,213,237,.86);border-radius:999px;padding:8px 11px;background:rgba(255,253,248,.88);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.discoverLocationControls .smallbtn{min-height:36px;white-space:nowrap}
.discoverLocationControls [hidden]{display:none!important}
.nearResults .suggestion small{color:#4f5f82}
.nearResults .suggestion .stopType{color:#4f67a4}
.nearResults .suggestion .smallbtn{background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.84)}
.nearResults .suggestion.fallbackStop{background:linear-gradient(135deg,rgba(221,232,255,.82),rgba(255,246,219,.46) 58%,rgba(255,253,248,.86))}
.nearResults .routeErrorCard{background:linear-gradient(135deg,rgba(255,228,239,.52),rgba(255,253,248,.9));border-color:rgba(220,151,172,.42)}
.heroCard span{white-space:pre-line}
.stat:empty{display:none}
.card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.card h3{margin-right:0}
.cardImage img{transition:transform .28s ease,filter .28s ease}
@media(hover:hover){
.card:hover{transform:translateY(-3px);background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.78);box-shadow:0 18px 42px rgba(82,110,173,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.card:hover .cardImage img{transform:scale(1.035);filter:saturate(1.08) contrast(1.04)}
}
.phonePreview body{background:#e8f1ff}.phonePreview .app{max-width:390px;padding-left:10px;padding-right:10px}.phonePreview .cards{grid-template-columns:1fr}.phonePreview .hero{padding-top:15px}.phonePreview .tabs{display:none}.phonePreview .footerNav{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;left:50%;right:auto;width:390px;max-width:100vw;transform:translateX(-50%)}.phonePreview .footerNav .tab{border:0;background:transparent;padding:7px 2px;font-size:10px}.phonePreview .footerNav .tab.active{background:var(--sage);color:var(--green)}.phonePreview .formgrid{grid-template-columns:1fr}.phonePreview .detailGrid{grid-template-columns:1fr 1fr}.phonePreview .sheet{max-height:92vh}.phonePreview .heroCard strong{font-size:18px}.phonePreview .toolbar{grid-template-columns:1fr 1fr}.phonePreview .toolbar .search{grid-column:1/-1}.phonePreview .toolbar .filterDrop{grid-column:1/2}.phonePreview .toolbar #surpriseBtn{grid-column:2/3}.phonePreview .filterChip{padding:9px 11px}.phonePreview .filterGrid{grid-template-columns:1fr}.phonePreview .weatherControls{grid-template-columns:1fr}.phonePreview .cardImage{height:205px}.phonePreview .detailHero{height:220px}
.card.glassPrototype{padding:0 10px 12px;background:rgba(255,255,255,.42);border-color:rgba(255,255,255,.7);box-shadow:0 18px 45px rgba(82,110,173,.16);overflow:visible;isolation:isolate}.card.glassPrototype .cardImage{height:310px;margin:0 -10px;border-radius:20px;box-shadow:inset 0 -80px 90px rgba(45,59,89,.18);overflow:hidden}.card.glassPrototype .cardImage img{filter:saturate(1.08) contrast(1.03);will-change:transform}.cardGlassPanel{position:relative;z-index:2;margin:-86px -10px 0;padding:17px 16px 15px;border:1px solid rgba(255,255,255,.72);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.62),rgba(221,232,255,.33) 45%,rgba(240,230,255,.28));box-shadow:0 18px 40px rgba(45,59,89,.22),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;will-change:transform}.card.glassPrototype h3{font-size:22px;line-height:1.05;margin:0 0 5px;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.42)}.card.glassPrototype .area{margin-bottom:11px;color:#455477;font-size:13px;font-weight:700}.card.glassPrototype .badge{background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.55);color:#314267}.card.glassPrototype .badge.rose{background:rgba(255,228,239,.62)}.card.glassPrototype .badge.gold{background:rgba(255,246,219,.68);color:#7d642e}.card.glassPrototype .badge.green{background:rgba(221,232,255,.64)}.card.glassPrototype .why{margin:12px 0 13px;color:#263653;font-size:13px}.card.glassPrototype .actions{align-items:center}.card.glassPrototype .smallbtn{background:rgba(255,255,255,.7);border-color:rgba(255,255,255,.72);box-shadow:0 8px 22px rgba(45,59,89,.12)}.card.glassPrototype .smallbtn.added,.card.glassPrototype .smallbtn[data-interest]{background:#fff;color:var(--green);box-shadow:0 10px 24px rgba(45,59,89,.16)}.card.glassPrototype:active .cardGlassPanel,.card.glassPrototype:focus-within .cardGlassPanel{transform:translateY(-8px);border-color:rgba(255,255,255,.95);box-shadow:0 24px 50px rgba(45,59,89,.28),inset 0 1px 0 rgba(255,255,255,1)}.card.glassPrototype:active .cardImage img,.card.glassPrototype:focus-within .cardImage img{transform:scale(1.025)}@media(hover:hover){.card.glassPrototype:hover .cardGlassPanel{transform:translateY(-8px);border-color:rgba(255,255,255,.95);box-shadow:0 24px 50px rgba(45,59,89,.28),inset 0 1px 0 rgba(255,255,255,1)}.card.glassPrototype:hover .cardImage img{transform:scale(1.025);filter:saturate(1.12) contrast(1.05)}}@media(prefers-reduced-motion:reduce){.card.glassPrototype,.card.glassPrototype .cardImage img,.cardGlassPanel{transition:none}.card.glassPrototype:active .cardGlassPanel,.card.glassPrototype:focus-within .cardGlassPanel,.card.glassPrototype:active .cardImage img,.card.glassPrototype:focus-within .cardImage img{transform:none}}
@media(max-width:680px){
.app{padding-left:10px;padding-right:10px}.cards{grid-template-columns:1fr}.hero{padding-top:15px}.tabs{display:none}
.footerNav{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.footerNav .tab{border:0;background:transparent;padding:7px 2px;font-size:10px}.footerNav .tab.active{background:var(--sage);color:var(--green)}
.formgrid{grid-template-columns:1fr}.detailGrid{grid-template-columns:1fr 1fr}.sheet{max-height:92vh}.heroCard strong{font-size:18px}
.toolbar{grid-template-columns:1fr 1fr}.toolbar .search{grid-column:1/-1}.toolbar .filterDrop{grid-column:1/2}.toolbar #surpriseBtn{grid-column:2/3}.filterChip{padding:9px 11px}
.filterGrid{grid-template-columns:1fr}
.filterDrop[open]::before{content:"";position:fixed;inset:0;z-index:89;background:rgba(43,60,97,.42);backdrop-filter:blur(3px)}
.filterPanel{position:fixed;z-index:90;left:0;right:0;top:auto;bottom:0;width:100%;max-width:none;max-height:min(82dvh,720px);overflow-y:auto;overscroll-behavior:contain;padding:12px 16px calc(14px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);border-radius:24px 24px 0 0;box-shadow:0 -18px 50px rgba(53,72,119,.24)}
.filterPanel::before{content:"";display:block;width:48px;height:5px;border-radius:999px;background:#cbd7eb;margin:0 auto 12px}
.filterPanel h3{font-size:18px;margin-bottom:14px}
.filterPanel .field select{min-height:46px;font-size:16px}
.activeFilters{margin:12px 0 4px}
.filterActions{position:sticky;bottom:calc(-14px - env(safe-area-inset-bottom));z-index:2;background:linear-gradient(180deg,rgba(255,253,248,0),#fffdf8 20%);padding:18px 0 calc(12px + env(safe-area-inset-bottom));margin-top:4px}
.filterActions button{min-height:48px}
.weatherControls{grid-template-columns:1fr}.cardImage{height:205px}.detailHero{height:220px}
}
.heroMap{display:none}
.discoverVisual body{background:radial-gradient(circle at 18% -10%,rgba(255,246,219,.9),rgba(255,246,219,0) 28%),radial-gradient(circle at 85% 4%,rgba(240,230,255,.95),rgba(240,230,255,0) 34%),linear-gradient(180deg,#eaf3ff 0,#f7f1ff 44%,#fff9eb 100%)}
.discoverVisual .hero{padding-bottom:16px}
.discoverVisual .brandline{margin-bottom:15px}
.discoverVisual .heroCard{min-height:258px;padding:23px 19px 20px;border-radius:28px;background:linear-gradient(143deg,#6495ED 0%,#5d8ee8 48%,#7aa7f4 100%);box-shadow:0 24px 58px rgba(79,127,212,.25);isolation:isolate}
.discoverVisual .heroCard:before{content:"";position:absolute;inset:auto -34px -52px 30%;height:148px;border-radius:999px;background:linear-gradient(90deg,rgba(255,246,219,.28),rgba(240,230,255,.08));filter:blur(4px);z-index:-1}
.discoverVisual .heroCard:after{width:190px;height:190px;right:-55px;top:-58px;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,.03) 68%)}
.discoverVisual .heroCard strong{position:relative;z-index:2;font-size:24px;line-height:1.08;max-width:260px;text-shadow:0 1px 18px rgba(45,59,89,.12)}
.discoverVisual .heroCard span{position:relative;z-index:2;max-width:540px;margin-top:10px;font-size:15px;line-height:1.48;opacity:.96}
.discoverVisual .stats{position:relative;z-index:2;margin-top:20px;gap:9px}
.discoverVisual .stat{padding:8px 12px;background:rgba(255,255,255,.17);border-color:rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);font-size:12px}
.discoverVisual .heroMap{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.42;transition:transform .35s ease}
.discoverVisual .heroMap svg{position:absolute;right:-36px;bottom:-18px;width:min(78%,330px);height:auto;overflow:visible}
.discoverVisual .heroMap .contour{fill:none;stroke:rgba(255,253,248,.14);stroke-width:1}
.discoverVisual .heroMap .c2{stroke:rgba(240,230,255,.2)}
.discoverVisual .heroMap .route{fill:none;stroke:rgba(255,246,219,.72);stroke-width:2;stroke-linecap:round;stroke-dasharray:7 12;filter:none;animation:routeDrift 12s ease-in-out infinite}
.discoverVisual .heroMap .horizon{fill:rgba(255,253,248,.07);stroke:rgba(255,253,248,.14);stroke-width:1}
.discoverVisual .heroMap .pin{fill:rgba(255,253,248,.82);stroke:rgba(242,198,109,.72);stroke-width:1.5;filter:none}
.discoverVisual .heroMap .dot{fill:rgba(255,253,248,.38)}
.discoverVisual .heroCard:active .heroMap,.discoverVisual .heroCard:focus-within .heroMap{transform:translate3d(-4px,3px,0) scale(1.01)}
@keyframes routeDrift{0%,100%{stroke-dashoffset:0}50%{stroke-dashoffset:-18}}
.discoverVisual #panel-discover{position:relative}
.discoverVisual #panel-discover:before{content:"";position:absolute;left:-10px;right:-10px;top:74px;height:220px;border-radius:34px;background:linear-gradient(180deg,rgba(255,253,248,.54),rgba(221,232,255,.2));z-index:-1}
.discoverVisual #panel-discover .toolbar{gap:10px;margin:2px 0 12px}
.discoverVisual #panel-discover .search{min-height:52px;border-color:rgba(199,213,237,.82);background:rgba(255,253,248,.96);box-shadow:0 9px 24px rgba(82,110,173,.1),inset 0 1px 0 rgba(255,255,255,.9)}
.discoverVisual #panel-discover .filterBtn{min-height:44px;padding:7px 10px;font-size:15px;border-color:rgba(199,213,237,.82);background:rgba(255,253,248,.96);box-shadow:0 9px 24px rgba(82,110,173,.1),inset 0 1px 0 rgba(255,255,255,.9)}
.discoverVisual #panel-discover .search:focus{border-color:rgba(100,149,237,.72);box-shadow:0 0 0 4px rgba(100,149,237,.14),0 10px 25px rgba(82,110,173,.11)}
.discoverVisual #panel-discover .filterBtn:active,.discoverVisual #panel-discover .smallbtn:active,.discoverVisual .filterChip:active,.discoverVisual .footerNav .tab:active{transform:scale(.985)}
.discoverVisual #panel-discover .metaRow{margin:7px 4px 12px;font-size:13px}
.discoverVisual #cards.cards{gap:22px}
.discoverVisual #cards .card.glassPrototype{border:1px solid rgba(255,255,255,.82);background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(221,232,255,.22));box-shadow:0 22px 60px rgba(82,110,173,.18)}
.discoverVisual #cards .card.glassPrototype .cardImage{height:300px;border-radius:22px;box-shadow:inset 0 -96px 104px rgba(45,59,89,.18)}
.discoverVisual #cards .cardGlassPanel{margin-top:-104px;padding:14px 15px 13px;border-color:rgba(255,255,255,.78);background:linear-gradient(145deg,rgba(255,253,248,.69),rgba(221,232,255,.38) 48%,rgba(240,230,255,.34));box-shadow:0 18px 38px rgba(45,59,89,.21),inset 0 1px 0 rgba(255,255,255,.95)}
.discoverVisual #cards .card.glassPrototype h3{font-size:22px;letter-spacing:0}
.discoverVisual #cards .card.glassPrototype .badges{gap:7px}
.discoverVisual #cards .card.glassPrototype .badge{padding:5px 8px}
.discoverVisual #cards .card.glassPrototype .badge.gold{background:rgba(255,255,255,.62);color:#7d642e}
.discoverVisual #cards .card.glassPrototype .actions{gap:9px}
.discoverVisual #cards .card.glassPrototype .why{margin:10px 0 11px;line-height:1.34}
.discoverVisual #cards .card.glassPrototype .smallbtn{min-height:38px;padding:8px 12px}
.discoverVisual .filterPanel{border-color:rgba(255,255,255,.74);background:linear-gradient(180deg,rgba(255,253,248,.94),rgba(239,245,255,.95));box-shadow:0 24px 60px rgba(45,59,89,.24)}
.discoverVisual .filterSection{border-top:0;background:rgba(255,255,255,.62);border-radius:17px;padding:12px;box-shadow:inset 0 0 0 1px rgba(215,225,240,.62)}
.discoverVisual .filterLabel{font-size:12px;color:#324260}
.discoverVisual .filterChip{border:1px solid rgba(199,213,237,.82);border-radius:999px;background:#fffdf8;color:#52607a;font-weight:850;min-height:39px;box-shadow:0 5px 14px rgba(82,110,173,.07);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}
.discoverVisual .filterChip.on{background:linear-gradient(135deg,#DDE8FF,#F0E6FF);border-color:rgba(100,149,237,.52);color:#2f4778;box-shadow:0 8px 18px rgba(100,149,237,.16)}
.discoverVisual .footerNav{background:rgba(255,253,248,.94);border-top:1px solid rgba(255,255,255,.86);box-shadow:0 -14px 38px rgba(82,110,173,.16);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.discoverVisual .footerNav .tab{transition:transform .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}
.discoverVisual .footerNav .tab.active{background:linear-gradient(135deg,#DDE8FF,#F0E6FF);color:#4F7FD4;box-shadow:0 8px 22px rgba(100,149,237,.16)}
@media(max-width:680px){.discoverVisual .footerNav{left:10px;right:10px;bottom:8px;width:auto;max-width:none;transform:none;border:1px solid rgba(215,225,240,.72);border-radius:24px 24px 18px 18px;padding:7px max(9px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left))}.discoverVisual .footerNav .tab{border-radius:17px;min-height:50px}.discoverVisual .heroCard{min-height:280px}.discoverVisual .heroMap svg{right:-70px;bottom:-14px;width:94%}.discoverVisual #cards .card.glassPrototype .cardImage{height:310px}.discoverVisual #cards .cardGlassPanel{margin-top:-108px}.discoverVisual .filterPanel{transition:transform .22s ease,opacity .22s ease}.discoverVisual .filterDrop[open] .filterPanel{animation:filterRise .22s ease both}}
@media(max-width:680px){.discoverLocation{grid-template-columns:1fr;gap:8px;margin-top:2px}.discoverLocationControls{grid-template-columns:1fr 1fr}.discoverLocationControls input{grid-column:1/-1;grid-row:1}.discoverLocationControls #discoverUseLocation{grid-column:1}.discoverLocationControls #discoverChoosePlace,.discoverLocationControls #discoverRetryLive{grid-column:2}}
@keyframes filterRise{from{transform:translateY(18px);opacity:.72}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.discoverVisual .heroMap,.discoverVisual .heroMap .route,.discoverVisual .filterPanel,.discoverVisual .filterChip,.discoverVisual .footerNav .tab{animation:none;transition:none}.discoverVisual .heroCard:active .heroMap,.discoverVisual .heroCard:focus-within .heroMap,.discoverVisual #panel-discover .filterBtn:active,.discoverVisual #panel-discover .smallbtn:active,.discoverVisual .filterChip:active,.discoverVisual .footerNav .tab:active{transform:none}}
.settingsBox{padding:0;overflow:hidden}
.settingsSummary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;cursor:pointer;user-select:none}
.settingsSummary::-webkit-details-marker{display:none}
.settingsSummary strong{display:block;font-size:15px}
.settingsSummary small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:800}
.settingsChevron{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--green);font-size:0;font-weight:900;padding:7px 10px;display:inline-grid;place-items:center}
.settingsChevron::before{content:"";width:15px;height:15px;background:currentColor;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.settingsBox[open] .settingsChevron{background:var(--sage);transform:rotate(180deg)}
.settingsIntro{margin:0 15px 12px;color:var(--muted);font-size:12px;line-height:1.45}
.settingsBox>.toggleRow,.settingsBox>.filterLabel,.settingsBox>.nudgeGrid,.settingsBox>.formgrid,.settingsBox>.buildActions,.settingsBox>.progress,.settingsBox>.nearResults,.settingsBox>#surprisePrefs{margin-left:15px;margin-right:15px}
.settingsBox>.nearResults,.settingsBox>.buildActions:last-child{margin-bottom:15px}
.surpriseBox{background:linear-gradient(135deg,#fffdf8,#f4f8ff)}
.surpriseGroup{border-top:1px solid rgba(215,225,240,.75);padding:12px 0}
.surpriseGroup:first-child{border-top:0;padding-top:0}
.surpriseChip.on{background:linear-gradient(135deg,#DDE8FF,#F0E6FF);border-color:rgba(100,149,237,.5);color:#2f4778;box-shadow:0 7px 16px rgba(100,149,237,.13)}
#panel-list .sectionTitle{margin:4px 0 8px}
#panel-list .settingsBox{margin-bottom:8px;border-color:rgba(215,225,240,.78);background:rgba(255,253,248,.86);box-shadow:0 8px 22px rgba(82,110,173,.08)}
#panel-list .settingsSummary{min-height:52px;padding:10px 12px}
#panel-list .settingsSummary strong{font-size:14px;line-height:1.12}
#panel-list .settingsSummary small{margin-top:2px;font-size:10px}
#panel-list .settingsChevron{width:30px;height:30px;padding:0;border:0;background:var(--sage);display:grid;place-items:center;font-size:0;line-height:1;color:var(--green2);transition:transform .16s ease}
#panel-list .settingsBox[open] .settingsChevron{background:var(--lav);transform:rotate(180deg)}
#panel-list .settingsIntro{margin:0 12px 8px;font-size:11px;line-height:1.35}
#panel-list .settingsBox>.toggleRow,#panel-list .settingsBox>.filterLabel,#panel-list .settingsBox>.nudgeGrid,#panel-list .settingsBox>.formgrid,#panel-list .settingsBox>.buildActions,#panel-list .settingsBox>.progress,#panel-list .settingsBox>.nearResults,#panel-list .settingsBox>#surprisePrefs,#panel-list .settingsBox>.backupBtns{margin-left:12px;margin-right:12px}
#panel-list .settingsBox>.nearResults,#panel-list .settingsBox>.buildActions:last-child,#panel-list .settingsBox>.backupBtns{margin-bottom:12px}
#panel-list .surpriseGroup{padding:8px 0}
#panel-list .filterChips,#panel-list .nudgeGrid{gap:6px}
#panel-list .filterChip,#panel-list .nudgeChip{min-height:34px;padding:7px 9px;font-size:10px}
#panel-list .surpriseBox .buildActions{justify-content:flex-start;margin-top:2px}
#panel-list #clearSurprisePrefs{flex:0 0 auto;min-height:0;padding:5px 0;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:11px}
#panel-list .nudgeBox{background:linear-gradient(135deg,rgba(238,245,255,.88),rgba(250,240,255,.78))}
#panel-list .fidoSettingsBox{background:linear-gradient(135deg,rgba(238,245,255,.9),rgba(255,253,248,.84) 48%,rgba(250,240,255,.78))}
.fidoSettingsSections{display:grid;gap:10px;padding:0 12px 12px}
.fidoSettingsSection{border:1px solid rgba(215,225,240,.78);border-radius:16px;background:rgba(255,255,255,.55);padding:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.fidoSettingsSection+.fidoSettingsSection{background:rgba(246,250,255,.62)}
.fidoSettingsHeading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px;color:var(--ink);font-weight:900;font-size:13px}
.fidoSettingsHeading small{color:var(--muted);font-size:10px;font-weight:850;text-align:right;line-height:1.25}
.fidoSettingsSection .settingsIntro{margin:0 0 9px;font-size:11px;line-height:1.35}
.fidoSettingsSection .surpriseGroup{padding:8px 0}
.fidoSettingsSection .surpriseGroup:first-child{padding-top:0}
.fidoSettingsSection .filterChip{border:1px solid rgba(199,213,237,.82);border-radius:999px;background:rgba(255,253,248,.84);color:#52607a;font-weight:850;box-shadow:0 5px 14px rgba(82,110,173,.06)}
.fidoSettingsSection .filterChip.on{background:linear-gradient(135deg,#DDE8FF,#F0E6FF);border-color:rgba(100,149,237,.5);color:#2f4778}
.fidoSettingsSection .filterChip .appIcon{width:14px;height:14px}
.fidoSettingsSection .toggleRow,.fidoSettingsSection .filterLabel,.fidoSettingsSection .nudgeGrid,.fidoSettingsSection .formgrid,.fidoSettingsSection .buildActions,.fidoSettingsSection .progress,.fidoSettingsSection .nearResults{margin-left:0;margin-right:0}
.fidoSettingsSection .filterLabel{margin-top:11px}
.fidoSettingsSection .formgrid{margin-top:11px}
.fidoSettingsSection .nearResults,.fidoSettingsSection .buildActions:last-child{margin-bottom:0}
.fidoSettingsSection #clearSurprisePrefs{padding-left:0;padding-right:0}
#panel-list .backupBox{margin-top:10px;background:rgba(255,253,248,.72)}
#panel-list .mineTools{display:grid;grid-template-columns:1fr;gap:7px;margin:6px 0 9px}
#panel-list .mineTools .chips{padding-bottom:2px}
#panel-list .mineTools .field{min-width:0;flex:auto}
#panel-list .mineTools .field label{margin-bottom:4px}
#panel-list .mineTools .field select{min-height:42px;padding:9px 11px}
#panel-list #listCards{gap:10px}
#panel-list #listCards{grid-template-columns:1fr}
#panel-list #listCards .card{width:100%;max-width:none}
#panel-list #listCards .cardImage{width:calc(100% + 30px);max-width:none}
#panel-list #listCards .cardImage img{width:100%;max-width:none}
@media(prefers-reduced-motion:reduce){#panel-list .settingsChevron{transition:none}}
.routeHelp{padding:15px;text-align:left;background:linear-gradient(135deg,#fffdf8,#eef5ff);border-style:solid}
.routeHelp strong{display:block;color:var(--ink);font-size:13px;margin-bottom:4px}
.routeHelp span{display:block;line-height:1.45}
button:disabled{opacity:.62;cursor:wait}
.navIcon{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:5px;border-radius:9px;background:linear-gradient(135deg,rgba(221,232,255,.95),rgba(240,230,255,.9));color:var(--green2);font-size:13px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 12px rgba(82,110,173,.12);vertical-align:middle}
.tab.active .navIcon{background:rgba(255,255,255,.22);color:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.34)}
.footerNav .navIcon{width:28px;height:25px;margin:0 0 2px;font-size:14px;border-radius:11px}
.eventCard{position:relative;overflow:hidden}
.eventCard:before{content:"";position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:14px;background:linear-gradient(135deg,rgba(221,232,255,.75),rgba(255,246,219,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.discoverVisual #cards .card.glassPrototype{padding:0;overflow:hidden}
.discoverVisual #cards .card.glassPrototype .cardImage{margin:0;border-radius:22px 22px 0 0}
.discoverVisual #cards .cardGlassPanel{margin:-104px 0 -1px;border-left:0;border-right:0;border-bottom:0;border-radius:22px 22px 20px 20px}
@media(max-width:680px){.discoverVisual #cards .cardGlassPanel{margin-top:-108px}}
.discoverVisual body{background:radial-gradient(circle at 18% 2%,rgba(221,232,255,.95),rgba(221,232,255,0) 34%),radial-gradient(circle at 86% 18%,rgba(240,230,255,.9),rgba(240,230,255,0) 38%),linear-gradient(180deg,#edf5ff 0%,#f5f2ff 45%,#fffdf8 100%)}
.discoverVisual .heroCard:before{background:linear-gradient(90deg,rgba(221,232,255,.2),rgba(240,230,255,.12));filter:blur(8px)}
.discoverVisual #panel-discover:before{background:linear-gradient(180deg,rgba(221,232,255,.42),rgba(240,230,255,.22),rgba(255,253,248,.3))}
.discoverVisual .heroMap{opacity:.34}
.discoverVisual .heroMap svg{right:-44px;bottom:-34px;width:min(86%,350px)}
.discoverVisual .heroMap .contour{stroke:rgba(255,253,248,.1)}
.discoverVisual .heroMap .route{stroke:rgba(255,246,219,.68);stroke-width:2.2;stroke-dasharray:9 13;animation:routeDrift 8.5s linear infinite}
.discoverVisual .heroMap .pin{fill:rgba(255,253,248,.62);stroke:rgba(255,246,219,.42);transform-origin:center;animation:waypointPulse 4.8s ease-in-out infinite}
.discoverVisual .heroMap .p2{animation-delay:1.2s}
.discoverVisual .heroMap .p3{fill:rgba(242,198,109,.86);stroke:rgba(255,253,248,.62);animation:destinationPulse 3.8s ease-in-out infinite}
.discoverVisual .heroMap .dot{fill:rgba(255,253,248,.24)}
@keyframes routeDrift{from{stroke-dashoffset:44}to{stroke-dashoffset:0}}
@keyframes waypointPulse{0%,100%{opacity:.38;transform:scale(.94)}50%{opacity:.68;transform:scale(1.08)}}
@keyframes destinationPulse{0%,100%{opacity:.7;transform:scale(.95)}50%{opacity:.95;transform:scale(1.14)}}
@media(max-width:680px){.discoverVisual .heroMap svg{right:-88px;bottom:-30px;width:104%}.discoverVisual .heroMap{opacity:.3}}
.cardImage img,.detailHero img{object-position:var(--image-focus,50% 50%)}
.imageFallback.photoNeeded{position:relative;overflow:hidden;background:radial-gradient(circle at 28% 26%,rgba(255,253,248,.72),rgba(255,253,248,0) 27%),linear-gradient(145deg,#DDE8FF 0%,#F0E6FF 58%,#FFFDF8 100%);color:#4F7FD4}
.imageFallback.photoNeeded:before{content:"";position:absolute;inset:16% -16% auto;height:52%;border:1px solid rgba(100,149,237,.16);border-left:0;border-right:0;border-radius:50%;transform:rotate(-9deg)}
.imageFallback.photoNeeded:after{content:"";position:absolute;left:-12%;right:-12%;bottom:0;height:42%;background:linear-gradient(164deg,rgba(100,149,237,.08),rgba(240,230,255,.22));clip-path:polygon(0 70%,25% 48%,43% 62%,62% 38%,78% 56%,100% 34%,100% 100%,0 100%)}
.imageFallback.photoNeeded span,.imageFallback.photoNeeded strong,.imageFallback.photoNeeded small{position:relative;z-index:1}
.imageFallback.photoNeeded span{font-size:30px;filter:drop-shadow(0 8px 20px rgba(79,127,212,.16))}
.imageFallback.photoNeeded strong{font-size:14px;line-height:1;color:var(--ink)}
.imageFallback.photoNeeded small{max-width:160px;text-align:center;font-size:10px;color:#5f6e90}
.discoverVisual #cards .imageFallback.photoNeeded{border-radius:22px 22px 0 0}

.appIcon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.filterBtn,.filterChip,.smallbtn,.secondary,.primary,.badge,.area,.detailArea{display:inline-flex;align-items:center;gap:6px}
.filterChip{gap:7px}.filterChip .appIcon{color:#4F7FD4}.filterLabel{display:flex;align-items:center;gap:7px}.filterLabel .appIcon{color:#4F7FD4}.filterSummary .appIcon,#filterSummary .appIcon{width:18px;height:18px}
#surpriseBtn .appIcon{width:20px;height:20px}
.field select,select.smallbtn{appearance:none;-webkit-appearance:none;padding-right:38px;background-color:rgba(255,253,248,.9);background-image:linear-gradient(145deg,rgba(255,253,248,.96),rgba(221,232,255,.42)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234F7FD4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat;background-position:center,right 12px center;background-size:100% 100%,18px 18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 5px 14px rgba(82,110,173,.06)}
#startMode{padding-left:40px;background-image:linear-gradient(145deg,rgba(255,253,248,.96),rgba(221,232,255,.42)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234F7FD4' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234F7FD4' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat,no-repeat,no-repeat;background-position:center,left 13px center,right 12px center;background-size:100% 100%,18px 18px,18px 18px}
.field input,.field textarea{background:linear-gradient(145deg,rgba(255,253,248,.96),rgba(221,232,255,.28));box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}
select option{background:#FFFDF8;color:#2D3B59}
.remove{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:999px;background:rgba(255,253,248,.82);color:#6E7893;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.settingsSummary{border-radius:20px}
.settingsBox[open]>.settingsSummary{border-radius:20px 20px 0 0}
.detailFold summary{border-radius:18px}
.detailFold[open] summary{border-radius:18px 18px 0 0}
#applyFilters.noMatches{background:#e8edf7;color:#6E7893;border:1px solid rgba(199,213,237,.9)}
.noMatchEmpty{display:flex;flex-direction:column;gap:5px;background:linear-gradient(145deg,rgba(255,253,248,.85),rgba(221,232,255,.55));border-style:solid;text-align:left}.noMatchEmpty strong{color:var(--ink);font-size:16px}.noMatchEmpty span{font-size:12px}
.discoverVisual #cards .card.glassPrototype .cardImage:after{content:"";position:absolute;left:0;right:0;bottom:0;height:132px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(221,232,255,.15) 38%,rgba(240,230,255,.36) 100%);pointer-events:none;z-index:1}
.discoverVisual #cards .cardGlassPanel{margin-top:-126px;background:linear-gradient(145deg,rgba(250,253,255,.78),rgba(221,232,255,.54) 44%,rgba(240,230,255,.48));border-color:rgba(255,255,255,.88);box-shadow:0 22px 46px rgba(45,59,89,.23),inset 0 1px 0 rgba(255,255,255,.98);color:var(--ink)}
.discoverVisual #cards .cardGlassPanel:before{content:"";position:absolute;left:0;right:0;top:-34px;height:46px;border-radius:24px 24px 0 0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(248,252,255,.5) 55%,rgba(248,252,255,.74));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:none;z-index:-1}
.discoverVisual #cards .card.glassPrototype .why{color:#233450;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.discoverVisual #cards .card.glassPrototype .area{color:#3e5076}.discoverVisual #cards .card.glassPrototype .badge{background:rgba(255,255,255,.66);border-color:rgba(255,255,255,.72)}
@media(max-width:680px){.discoverVisual #cards .cardGlassPanel{margin-top:-130px}}
.imageFallback.photoNeeded{gap:9px;padding:22px;text-align:center}
.imageFallback.photoNeeded .fallbackIcon{width:54px;height:54px;padding:12px;border-radius:22px;background:rgba(255,253,248,.58);box-shadow:0 18px 40px rgba(79,127,212,.16);color:#4F7FD4}
.imageFallback.photoNeeded:before{height:62%;inset:10% -22% auto;border-color:rgba(100,149,237,.22);transform:rotate(-8deg)}
.imageFallback.photoNeeded strong{font-size:17px}.imageFallback.photoNeeded small{font-size:11px;max-width:190px}
.backToTop{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:49;width:46px;height:46px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,253,248,.86);color:#4F7FD4;box-shadow:0 15px 38px rgba(82,110,173,.2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease}
.backToTop.show{opacity:1;pointer-events:auto;transform:translateY(0)}.backToTop .appIcon{width:23px;height:23px}
.sheet{padding:14px 14px 30px}.sheet .close{position:sticky;top:8px;float:right;margin:0 0 10px auto;z-index:5;border:1px solid rgba(255,255,255,.75);background:rgba(255,253,248,.88);box-shadow:0 10px 28px rgba(45,59,89,.16);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#detailBody{clear:both}.detailExperience{padding-top:0}.detailHeroWrap{position:relative;margin:0 0 16px}.detailHeroWrap .detailHero{height:292px;margin:0;border-radius:24px;background:linear-gradient(135deg,#DDE8FF,#F0E6FF);box-shadow:0 18px 44px rgba(82,110,173,.18)}
.detailHeroGlass{position:absolute;left:12px;right:12px;bottom:12px;padding:14px 15px;border:1px solid rgba(255,255,255,.84);border-radius:21px;background:linear-gradient(145deg,rgba(255,253,248,.76),rgba(221,232,255,.5),rgba(240,230,255,.42));box-shadow:0 18px 38px rgba(45,59,89,.22),inset 0 1px 0 rgba(255,255,255,.95);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25)}
.detailHeroGlass h2{margin:0 0 5px;font-size:25px;line-height:1.05;color:var(--ink)}.detailHeroGlass .detailArea{font-size:13px;color:#455477;font-weight:750}
.detailTiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 15px}.detailTile{display:flex;align-items:center;gap:9px;min-width:0;padding:10px;border-radius:16px;background:linear-gradient(145deg,rgba(255,253,248,.95),rgba(239,245,255,.78));box-shadow:inset 0 0 0 1px rgba(215,225,240,.62)}.detailTile .appIcon{width:20px;height:20px;color:#4F7FD4}.detailTile span{min-width:0}.detailTile b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:#6E7893}.detailTile em{display:block;font-style:normal;font-size:12px;color:#2D3B59;line-height:1.25}
.detailStories{display:grid;gap:11px;margin:0 0 14px}.detailStory{display:flex;gap:10px}.detailStory .appIcon{width:22px;height:22px;margin-top:2px;color:#4F7FD4}.detailStory h3{font-size:14px;margin:0 0 3px;color:var(--ink)}.detailStory p{font-size:13px;line-height:1.48;margin:0;color:#3c4966}
.detailFold{border:1px solid rgba(215,225,240,.75);border-radius:18px;background:rgba(255,253,248,.82);box-shadow:0 9px 24px rgba(82,110,173,.08);margin:10px 0;overflow:hidden}.detailFold summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 13px;cursor:pointer}.detailFold summary::-webkit-details-marker{display:none}.detailFold summary>.appIcon:first-child{width:22px;height:22px;color:#4F7FD4}.detailFold summary span{flex:1}.detailFold strong{display:block;color:var(--ink);font-size:14px}.detailFold small{display:block;color:#6E7893;font-size:12px;margin-top:2px}.foldChevron{width:18px;height:18px;color:#6E7893;transition:transform .16s ease}.detailFold[open] .foldChevron{transform:rotate(180deg)}.foldBody{padding:0 13px 13px}.foldBody p{font-size:12px;line-height:1.45;color:#52607a;margin:0 0 10px}.memoryField{margin-top:9px}
.detailActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.detailActions>*{justify-content:center;min-height:44px;text-align:center}.detailActions .primary{grid-column:1/-1}
@media(max-width:430px){.detailHeroWrap .detailHero{height:276px}.detailTiles{grid-template-columns:1fr 1fr}.detailActions{grid-template-columns:1fr}.detailActions .primary{grid-column:auto}.backToTop{right:16px;bottom:calc(86px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.backToTop,.foldChevron{transition:none}.backToTop.show{transform:none}}
.discoverVisual #cards .card.glassPrototype{border-color:rgba(255,255,255,.76)}
.discoverVisual #cards .cardGlassPanel{border-color:rgba(255,255,255,.72);box-shadow:0 18px 42px rgba(45,59,89,.18),inset 0 1px 0 rgba(255,255,255,.86);outline:0}
.discoverVisual #cards .card.glassPrototype:active .cardGlassPanel,.discoverVisual #cards .card.glassPrototype:focus-within .cardGlassPanel{border-color:rgba(255,255,255,.82);box-shadow:0 20px 46px rgba(45,59,89,.22),inset 0 1px 0 rgba(255,255,255,.92)}
@media(hover:hover){.discoverVisual #cards .card.glassPrototype:hover .cardGlassPanel{border-color:rgba(255,255,255,.82);box-shadow:0 20px 46px rgba(45,59,89,.22),inset 0 1px 0 rgba(255,255,255,.92)}}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded{justify-content:flex-start;padding-top:28px;padding-bottom:142px;gap:8px}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded .fallbackIcon{width:58px;height:58px}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded strong{font-size:18px}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded small{font-size:11px}
.detailHeroWrap{overflow:hidden;border-radius:24px;background:transparent}
.detailHeroWrap .detailHero{border-radius:24px;box-shadow:none;background:transparent}
.detailHeroWrap .detailHero img{display:block;width:100%;height:100%;object-fit:cover}
.detailExperience .detailActions{grid-template-columns:repeat(2,minmax(0,1fr))}
.detailExperience .detailActions .primary{grid-column:auto}
.detailExperience .detailActions>*{width:100%;min-width:0}
@media(max-width:430px){.detailExperience .detailActions{grid-template-columns:repeat(2,minmax(0,1fr))}.detailExperience .detailActions .primary{grid-column:auto}}

.discoverVisual .heroCard{padding:28px 24px 22px}
.discoverVisual .heroCard strong{font-size:26px;line-height:1.1;max-width:300px}
.discoverVisual .heroCard span{max-width:330px}
.discoverVisual .heroMap{opacity:.24}
.discoverVisual .heroMap svg{right:-66px;bottom:-54px;width:min(92%,360px)}
.discoverVisual #cards .card.glassPrototype{border:0;background:transparent}
.discoverVisual #cards .card.glassPrototype .cardImage{border-radius:20px 20px 0 0}
.discoverVisual #cards .cardGlassPanel{border-top:0;padding-top:15px}
.discoverVisual #cards .cardGlassPanel:before{content:none}
.detailHeroGlass{left:0;right:0;bottom:0;z-index:2;border:0;border-radius:0 0 24px 24px;box-shadow:0 -18px 40px rgba(45,59,89,.18),inset 0 1px 0 rgba(255,255,255,.42);overflow:hidden;isolation:isolate;clip-path:inset(0 round 0 0 24px 24px);transform:translateZ(0)}
.detailHeroGlass:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,253,248,0),rgba(255,253,248,.72));pointer-events:none;z-index:0}
.detailHeroGlass h2,.detailHeroGlass .detailArea{position:relative;z-index:1}

.fidoIntroModal{position:fixed;inset:0;z-index:210;display:none;align-items:center;justify-content:center;padding:18px}
.fidoIntroModal.open{display:flex}
.fidoIntroModal.closing .fidoIntroCard{animation:fidoIntroLeave .24s ease both}
.fidoIntroModal.closing .fidoIntroShade{animation:fidoShadeOut .24s ease both}
.fidoIntroShade{position:absolute;inset:0;background:rgba(43,60,97,.36);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.fidoIntroCard{position:relative;z-index:2;width:min(390px,100%);display:grid;grid-template-columns:116px 1fr;gap:10px;padding:16px 15px 16px 12px;border-radius:24px;border:1px solid rgba(255,255,255,.72);background:linear-gradient(145deg,rgba(255,253,248,.84),rgba(221,232,255,.58),rgba(240,230,255,.46));box-shadow:0 24px 70px rgba(45,59,89,.28),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(18px) saturate(1.22);-webkit-backdrop-filter:blur(18px) saturate(1.22);animation:fidoIntroArrive .72s cubic-bezier(.2,.72,.22,1) both}
.fidoPortrait,.fidoMiniPortrait,.fidoSurpriseArt{display:grid;place-items:center;position:relative;flex:0 0 auto}
.fidoPortrait{width:126px;height:126px;margin:8px 0 -14px -24px;align-self:end}
.fidoMiniPortrait{width:62px;height:58px;margin:-14px -8px -10px -18px;align-self:flex-start}
.fidoPortrait img,.fidoMiniPortrait img,.fidoSurpriseArt img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 14px 24px rgba(82,110,173,.18))}
.fidoIntroCopy h2{font-size:21px;line-height:1.05;margin:1px 0 8px;color:var(--ink)}
.fidoIntroCopy p{font-size:13px;line-height:1.42;margin:0 0 8px;color:#3d4b68}
.fidoHow{margin:9px 0 12px}
.fidoHow summary{cursor:pointer;color:var(--green2);font-size:12px;font-weight:850}
.fidoMiniList{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.fidoMiniList span,.fidoChips span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.72);font-size:10px;font-weight:850;color:#405174}
.fidoRouteScout{display:none;margin-top:10px}
.fidoRouteScout.show{display:block}
.fidoButton{width:100%;justify-content:center;background:linear-gradient(135deg,rgba(255,253,248,.94),rgba(240,230,255,.72))}
.fidoButton.busy{opacity:.72}
.fidoSuggestionHost{margin-top:9px}
.fidoCard{display:flex;gap:4px;align-items:flex-start;padding:12px 12px 12px 5px;border-radius:19px;border:1px solid rgba(255,255,255,.74);background:linear-gradient(145deg,rgba(255,253,248,.78),rgba(221,232,255,.48) 48%,rgba(240,230,255,.4));box-shadow:0 16px 38px rgba(82,110,173,.18),inset 0 1px 0 rgba(255,255,255,.88);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);overflow:hidden}
.fidoCard.quiet{align-items:center}
.fidoCardBody{min-width:0;flex:1}
.fidoKicker{display:block;text-transform:uppercase;letter-spacing:.055em;color:#6E7893;font-size:9px;font-weight:900;margin-bottom:3px}
.fidoCard strong{display:block;color:var(--ink);font-size:14px;line-height:1.2}
.fidoCard p{font-size:12px;line-height:1.4;color:#445371;margin:5px 0 8px}
.fidoChips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.fidoActions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.fidoActions .smallbtn{min-height:31px;padding:6px 10px;border-radius:999px;font-size:11px;background:rgba(255,255,255,.72);border-color:rgba(255,255,255,.8)}
.fidoDismiss{color:#6E7893}
.fidoReset{margin:8px 12px 12px;width:calc(100% - 24px);background:rgba(255,255,255,.68)}
.fidoSurpriseHost{margin:0 0 10px}
.fidoSurpriseCard{display:grid;grid-template-columns:1fr 76px;gap:8px;align-items:center;padding:12px;border-radius:20px;border:1px solid rgba(255,255,255,.76);background:linear-gradient(145deg,rgba(255,253,248,.8),rgba(221,232,255,.5),rgba(240,230,255,.42));box-shadow:0 18px 42px rgba(82,110,173,.18),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(16px) saturate(1.18);-webkit-backdrop-filter:blur(16px) saturate(1.18);overflow:hidden;animation:fidoSmallPeek .42s ease both}
.fidoSurpriseCard.noResult{grid-template-columns:1fr 62px}
.fidoSurpriseArt{grid-column:2;grid-row:1;width:86px;height:86px;margin:-17px -18px -18px 0}
.fidoSurpriseArt img{transform:scaleX(-1)}
.fidoSurpriseCard.noResult .fidoSurpriseArt{width:70px;height:70px}
.fidoSurpriseBody{grid-column:1;grid-row:1;min-width:0}
.fidoSurpriseBody strong{display:block;font-size:15px;line-height:1.18;color:var(--ink)}
.fidoSurpriseBody p{font-size:12px;line-height:1.38;color:#445371;margin:5px 0 8px}
@keyframes fidoIntroArrive{0%{opacity:0;transform:translate3d(34px,8px,0)}58%{opacity:1;transform:translate3d(-3px,-3px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes fidoIntroLeave{to{opacity:0;transform:translate3d(22px,8px,0)}}
@keyframes fidoShadeOut{to{opacity:0}}
@keyframes fidoSmallPeek{from{opacity:0;transform:translate3d(14px,4px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:430px){.fidoIntroCard{grid-template-columns:94px 1fr;padding:14px 13px 14px 10px}.fidoPortrait{width:108px;height:108px;margin-left:-24px}.fidoIntroCopy h2{font-size:20px}.fidoSurpriseCard{grid-template-columns:1fr 68px}.fidoSurpriseArt{width:78px;height:78px}}
@media(prefers-reduced-motion:reduce){.fidoIntroShade,.fidoIntroCard,.fidoCard,.fidoSurpriseCard{animation:none;transition:none;backdrop-filter:none;-webkit-backdrop-filter:none}.fidoIntroModal.closing .fidoIntroCard,.fidoIntroModal.closing .fidoIntroShade{animation:none}}
@media(max-width:680px){.discoverVisual .heroCard{padding:30px 24px 22px;min-height:288px}.discoverVisual .heroCard strong{font-size:26px;max-width:300px}.discoverVisual .heroCard span{max-width:330px}.discoverVisual .heroMap{opacity:.22}.discoverVisual .heroMap svg{right:-112px;bottom:-58px;width:108%}}

/* Stability and polish pass */
.cardImage,.detailHero{aspect-ratio:16/10}
.cardImage[data-loaded="false"]::before,.detailHero[data-loaded="false"]::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(105deg,rgba(221,232,255,.62),rgba(255,253,248,.72) 38%,rgba(240,230,255,.62) 66%);background-size:220% 100%;animation:imageLoading 1.25s ease-in-out infinite}
.cardImage[data-loaded="false"]::after,.detailHero[data-loaded="false"]::after{content:"";position:absolute;left:18px;right:18px;bottom:18px;height:12px;border-radius:999px;background:rgba(255,255,255,.42);z-index:0}
.cardImage img,.detailHero img{position:relative;z-index:1}
.cardImage[data-loaded="true"] img,.detailHero[data-loaded="true"] img{animation:imageFadeIn .22s ease both}
@keyframes imageLoading{from{background-position:100% 0}to{background-position:0 0}}
@keyframes imageFadeIn{from{opacity:.72}to{opacity:1}}

html:not(.discoverVisual) body{background:radial-gradient(circle at 12% 3%,rgba(221,232,255,.86),rgba(221,232,255,0) 34%),radial-gradient(circle at 88% 22%,rgba(240,230,255,.74),rgba(240,230,255,0) 36%),linear-gradient(180deg,#eef5ff 0%,#faf6ef 72%,#fffdf8 100%)}
html:not(.discoverVisual) .heroCard{background:linear-gradient(145deg,#6495ED,#5c8dec 58%,#7da4ee);box-shadow:0 18px 45px rgba(82,110,173,.18);border:1px solid rgba(255,255,255,.26)}
html:not(.discoverVisual) .panel.active{position:relative}
html:not(.discoverVisual) .box,html:not(.discoverVisual) .eventCard,html:not(.discoverVisual) .tripCard,html:not(.discoverVisual) .empty{background:linear-gradient(145deg,rgba(255,253,248,.9),rgba(239,245,255,.68));border-color:rgba(215,225,240,.72);box-shadow:0 14px 34px rgba(82,110,173,.11),inset 0 1px 0 rgba(255,255,255,.7)}
html:not(.discoverVisual) .sectionTitle{font-size:22px;letter-spacing:0;margin:10px 2px 10px}
html:not(.discoverVisual) .field input,html:not(.discoverVisual) .field select,html:not(.discoverVisual) .field textarea{background:rgba(255,253,248,.86);border-color:rgba(199,213,237,.86);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
html:not(.discoverVisual) .primary{box-shadow:0 10px 24px rgba(100,149,237,.22)}
html:not(.discoverVisual) .secondary,html:not(.discoverVisual) .smallbtn,html:not(.discoverVisual) .filterBtn,html:not(.discoverVisual) .chip{background:rgba(255,253,248,.78);border-color:rgba(199,213,237,.8);box-shadow:0 8px 20px rgba(82,110,173,.08)}
html:not(.discoverVisual) button:active,html:not(.discoverVisual) .smallbtn:active,html:not(.discoverVisual) .secondary:active,html:not(.discoverVisual) .chip:active{transform:translateY(1px) scale(.99)}

#panel-day>.box:first-of-type{background:linear-gradient(145deg,rgba(255,253,248,.9),rgba(221,232,255,.6) 55%,rgba(240,230,255,.45));overflow:hidden}
#panel-day .mainAdventureBox{background:linear-gradient(145deg,rgba(255,253,248,.72),rgba(221,232,255,.68));box-shadow:inset 0 0 0 1px rgba(255,255,255,.58)}
#panel-day .buildActions button{min-height:44px;justify-content:center}
.nearResults .suggestion{border-radius:18px;padding:13px;background:linear-gradient(135deg,rgba(221,232,255,.78),rgba(240,230,255,.5) 58%,rgba(255,253,248,.86));border-color:rgba(151,177,232,.56);box-shadow:0 13px 30px rgba(82,110,173,.14),inset 0 1px 0 rgba(255,255,255,.82)}
.nearResults .suggestion.fallbackStop{background:linear-gradient(135deg,rgba(221,232,255,.86),rgba(255,246,219,.54) 58%,rgba(255,253,248,.9));border-color:rgba(242,198,109,.44)}
.nearResults .routeErrorCard{border-style:solid}
.stopType{display:inline-flex;align-items:center;gap:5px}.stopType .appIcon{color:#4F7FD4}

#panel-trips>.box:first-of-type{background:linear-gradient(145deg,rgba(255,253,248,.9),rgba(255,246,219,.52),rgba(221,232,255,.5))}
.tripCard{overflow:hidden;position:relative}
.tripCard:before{content:"";position:absolute;right:-20px;top:-26px;width:96px;height:96px;border-radius:50%;background:rgba(221,232,255,.5)}
.tripHead,.tripPlaces{position:relative;z-index:1}
.tripPlace{background:rgba(255,253,248,.68);box-shadow:inset 0 0 0 1px rgba(215,225,240,.5)}

#panel-events .chips,#panel-list .chips{padding-bottom:8px}
.eventCard{background:linear-gradient(145deg,rgba(255,253,248,.9),rgba(240,230,255,.48),rgba(221,232,255,.42));border-color:rgba(215,225,240,.72)}
.eventDate{display:inline-flex;align-items:center;gap:6px;color:#4F7FD4}.eventDate .appIcon{width:16px;height:16px}
.eventCard .actions{align-items:center}.eventCard select.smallbtn{min-width:145px}

#panel-list .settingsBox,#panel-list .mineTools,#panel-list #listCards .card{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#panel-list .mineTools{padding:10px;border-radius:18px;background:linear-gradient(145deg,rgba(255,253,248,.78),rgba(221,232,255,.44));border:1px solid rgba(215,225,240,.65);box-shadow:0 12px 28px rgba(82,110,173,.09)}
.chip{display:inline-flex;align-items:center;gap:6px}.chip .appIcon{width:15px;height:15px;color:#4F7FD4}
.nudgeChip{display:inline-flex;align-items:center;gap:6px}

.navIcon .appIcon{width:15px;height:15px;vertical-align:0}.footerNav .navIcon .appIcon{width:16px;height:16px}
#surpriseBtn .appIcon{color:#4F7FD4;fill:currentColor;stroke:none}
#surpriseBtn .pawButtonIcon{width:22px;height:22px}
#askFidoRoute .appIcon{color:#4F7FD4;stroke-width:1.9}
#surpriseBtn{gap:5px}
#surpriseBtn span{white-space:nowrap}

@media(max-width:430px){
  html:not(.discoverVisual) .sectionTitle{font-size:21px;margin-top:8px}
  .nearResults .suggestion{align-items:flex-start;display:grid;grid-template-columns:1fr;gap:9px}
  .nearResults .suggestion>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:8px}
  .nearResults .suggestion .stopButtons{margin-top:0}
  #panel-day .buildActions{display:grid;grid-template-columns:1fr;gap:8px}
  #panel-day .buildActions button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .cardImage[data-loaded="false"]::before,.detailHero[data-loaded="false"]::before,.cardImage[data-loaded="true"] img,.detailHero[data-loaded="true"] img{animation:none}
  html:not(.discoverVisual) button:active,html:not(.discoverVisual) .smallbtn:active,html:not(.discoverVisual) .secondary:active,html:not(.discoverVisual) .chip:active{transform:none}
}

/* Final visual refinement pass */
.heroCard{
  background:
    radial-gradient(circle at 86% 12%,rgba(255,255,255,.18),rgba(255,255,255,0) 27%),
    linear-gradient(145deg,#6495ED 0%,#5e8fe9 50%,#7aa7f4 100%);
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 22px 58px rgba(82,110,173,.22),inset 0 1px 0 rgba(255,255,255,.22);
  isolation:isolate;
}
.heroCard:before{
  content:"";
  position:absolute;
  left:28%;
  right:-18%;
  bottom:-58px;
  height:150px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(221,232,255,.24),rgba(240,230,255,.16),rgba(255,246,219,.12));
  filter:blur(10px);
  z-index:-1;
}
.heroCard strong,.heroCard span,.heroCard .stats{position:relative;z-index:2}
.heroMap{display:block;position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.3;transition:transform .35s ease}
.heroMap svg{position:absolute;right:-72px;bottom:-44px;width:min(104%,390px);height:auto;overflow:visible}
.heroMap .contour{fill:none;stroke:rgba(255,253,248,.12);stroke-width:1}
.heroMap .c2{stroke:rgba(240,230,255,.18)}
.heroMap .horizon{fill:rgba(255,253,248,.055);stroke:rgba(255,253,248,.12);stroke-width:1}
.heroMap .route{fill:none;stroke:rgba(255,246,219,.68);stroke-width:2.35;stroke-linecap:round;stroke-dasharray:10 13;animation:routeDrift 8.2s linear infinite}
.heroMap .pin{fill:rgba(255,253,248,.68);stroke:rgba(255,246,219,.56);stroke-width:1.5;transform-origin:center;animation:waypointPulse 5.2s ease-in-out infinite}
.heroMap .p2{animation-delay:1.1s}
.heroMap .p3{fill:rgba(242,198,109,.9);stroke:rgba(255,253,248,.68);animation:destinationPulse 4.1s ease-in-out infinite}
.heroMap .dot{fill:rgba(255,253,248,.28)}
.page-discover .heroMap{opacity:.36}
.page-discover .heroMap svg{right:-82px;bottom:-28px;width:min(112%,420px)}
.page-day .heroMap{opacity:.28}.page-day .heroMap svg{right:-104px;bottom:-54px;width:min(104%,380px);transform:rotate(-5deg) scale(.92)}.page-day .heroMap .c2,.page-day .heroMap .dot.d1,.page-day .heroMap .dot.d3{display:none}
.page-trips .heroMap{opacity:.31}.page-trips .heroMap svg{right:-96px;bottom:-36px;width:min(118%,440px);transform:rotate(3deg) scale(1.05)}.page-trips .heroMap .route{stroke-dasharray:14 12}
.page-events .heroMap{opacity:.3}.page-events .heroMap svg{right:-76px;bottom:-40px;width:min(108%,400px)}.page-events .heroMap .pin{opacity:.85}
.page-list .heroMap{opacity:.19}.page-list .heroMap svg{right:-96px;bottom:-58px;width:min(100%,360px);transform:rotate(-3deg) scale(.9)}.page-list .heroMap .route{stroke-width:1.9;stroke-dasharray:8 16}.page-list .heroMap .pin{animation:none;opacity:.56}

.card,.box,.eventCard,.tripCard,.empty{border-radius:22px;border-color:rgba(199,213,237,.72)}
.smallbtn,.secondary,.primary,.filterBtn,.chip,.filterChip,.badge{min-height:36px;border-radius:999px;font-weight:850;line-height:1.05}
.primary,.secondary,.smallbtn,.filterBtn{justify-content:center}
.badge{padding:6px 9px;background:rgba(255,253,248,.66);border:1px solid rgba(215,225,240,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);color:#425274}
.badge.rose{background:rgba(255,228,239,.62);color:#7f5669}.badge.lav{background:rgba(240,230,255,.68);color:#594b78}.badge.green{background:rgba(221,232,255,.72);color:#36547f}.badge.gold{background:rgba(255,253,248,.72);color:#756035}
.badge.photoHuntBadge{background:linear-gradient(135deg,rgba(240,230,255,.76),rgba(221,232,255,.66));border-color:rgba(197,210,241,.72);color:#4b5f91}
.badge.foodBadge{background:rgba(255,253,248,.72);border-color:rgba(215,225,240,.74);color:#45577f}
.badge .appIcon,.smallbtn .appIcon,.secondary .appIcon,.primary .appIcon,.filterBtn .appIcon{width:1em;height:1em;stroke-width:2}
.discoverVisual #cards .card.glassPrototype{
  background:linear-gradient(180deg,rgba(221,232,255,.28),rgba(240,230,255,.18));
  border:1px solid rgba(255,255,255,.74);
  box-shadow:0 22px 54px rgba(82,110,173,.17);
}
.discoverVisual #cards .cardGlassPanel{
  background:linear-gradient(145deg,rgba(255,253,248,.72),rgba(221,232,255,.56) 47%,rgba(240,230,255,.48));
  box-shadow:0 19px 42px rgba(45,59,89,.18),inset 0 1px 0 rgba(255,255,255,.92);
}
.discoverVisual #cards .card.glassPrototype .smallbtn{
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.76);
  background:rgba(255,253,248,.7);
  box-shadow:0 8px 18px rgba(82,110,173,.08),inset 0 1px 0 rgba(255,255,255,.78);
}
.discoverVisual #cards .card.glassPrototype .smallbtn.added{
  background:linear-gradient(135deg,#6495ED,#4F7FD4);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded{
  justify-content:flex-start;
  padding:36px 20px 126px;
  background:
    radial-gradient(circle at 50% 26%,rgba(255,253,248,.88),rgba(255,253,248,0) 25%),
    linear-gradient(145deg,rgba(221,232,255,.96),rgba(240,230,255,.82) 62%,rgba(255,253,248,.76));
}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded:after{
  height:48%;
  background:linear-gradient(180deg,rgba(255,253,248,0),rgba(221,232,255,.34) 54%,rgba(240,230,255,.54));
  clip-path:none;
}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded .fallbackIcon{width:52px;height:52px;border-radius:19px}
.discoverVisual #cards .cardImage .imageFallback.photoNeeded strong{font-size:17px}

.detailHeroWrap{overflow:hidden;clip-path:inset(0 round 24px)}
.detailHeroGlass{
  background:linear-gradient(145deg,rgba(238,246,255,.9),rgba(221,232,255,.78) 48%,rgba(240,230,255,.7));
  color:var(--ink);
  border:0;
  border-radius:0 0 24px 24px;
  overflow:hidden;
  clip-path:inset(0 round 0 0 24px 24px);
  box-shadow:0 -18px 40px rgba(45,59,89,.15),inset 0 1px 0 rgba(255,255,255,.54);
  contain:paint;
  backdrop-filter:blur(18px) saturate(1.12) brightness(1.04);
  -webkit-backdrop-filter:blur(18px) saturate(1.12) brightness(1.04);
}
.detailHeroGlass:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,253,248,.16),rgba(255,253,248,0) 52%);
  pointer-events:none;
  z-index:0;
}
.detailHeroGlass:after{background:linear-gradient(180deg,rgba(221,232,255,0),rgba(221,232,255,.5));border-radius:inherit}
.detailHeroGlass h2{color:#253758;text-shadow:0 1px 0 rgba(255,255,255,.44)}
.detailHeroGlass .detailArea{color:#344a74}

#panel-trips>.box:first-of-type{
  position:relative;
  overflow:hidden;
  padding:16px;
  background:linear-gradient(145deg,rgba(255,253,248,.88),rgba(221,232,255,.62) 54%,rgba(240,230,255,.5));
  border-color:rgba(255,255,255,.72);
}
#panel-trips>.box:first-of-type:after{
  content:"";
  position:absolute;
  right:-42px;
  top:-54px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,246,219,.42),rgba(255,246,219,0) 68%);
  pointer-events:none;
}
#panel-trips>.box:first-of-type .metaRow,#panel-trips>.box:first-of-type .formgrid,#panel-trips>.box:first-of-type .buildActions{position:relative;z-index:1}
#panel-trips .field input{min-height:48px;border-radius:16px}
input[type="date"]{
  min-height:46px;
  padding-left:40px;
  background-image:linear-gradient(145deg,rgba(255,253,248,.96),rgba(221,232,255,.34)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234F7FD4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='4'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat;
  background-position:center,left 13px center;
  background-size:100% 100%,18px 18px;
}
input[type="date"]::-webkit-calendar-picker-indicator{opacity:.28;filter:sepia(1) saturate(1.7) hue-rotate(180deg);cursor:pointer}
.tripEmptyState{
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px;
  border-style:solid;
  text-align:left;
  background:linear-gradient(145deg,rgba(255,253,248,.86),rgba(221,232,255,.5));
}
.tripEmptyState>.appIcon{width:25px;height:25px;color:#4F7FD4}.tripEmptyState strong{display:block;color:var(--ink);font-size:14px}.tripEmptyState small{display:block;color:var(--muted);font-size:12px;line-height:1.35;margin-top:2px}

.eventCard{
  padding:16px;
  background:linear-gradient(145deg,rgba(255,253,248,.88),rgba(240,230,255,.5) 48%,rgba(221,232,255,.42));
  border-color:rgba(255,255,255,.7);
  box-shadow:0 16px 38px rgba(82,110,173,.12),inset 0 1px 0 rgba(255,255,255,.72);
}
.eventCard:before{content:none}
.eventDate{margin-bottom:8px;padding:6px 9px;border-radius:999px;background:rgba(255,253,248,.62);border:1px solid rgba(215,225,240,.66);font-size:11px;color:#4F7FD4}
.eventCard h3{font-size:18px;line-height:1.16;margin:0 0 5px;color:var(--ink)}
.eventMeta{font-weight:750;color:#52617f;margin-bottom:10px}
.eventCard .why{margin:10px 0 13px;color:#34425e}
.eventCard .actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding-top:12px;
  border-top:1px solid rgba(215,225,240,.62);
}
.eventCard .actions .smallbtn,.eventCard .actions select.smallbtn{width:100%;min-height:40px}
.eventCard .actions select.smallbtn{grid-column:1/-1;background-color:rgba(240,230,255,.58)}

input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{
  outline:0;
  box-shadow:0 0 0 4px rgba(100,149,237,.16),0 8px 22px rgba(82,110,173,.1);
}
input[type="checkbox"],input[type="radio"]{accent-color:#6495ED}
html body input[type="date"]{
  padding-left:40px;
  background-image:linear-gradient(145deg,rgba(255,253,248,.96),rgba(221,232,255,.34)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%234F7FD4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='4'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat;
  background-position:center,left 13px center;
  background-size:100% 100%,18px 18px;
}
@media(max-width:430px){
  .heroMap svg{right:-88px;bottom:-44px;width:112%}
  .page-discover .heroMap svg{right:-102px;bottom:-28px;width:122%}
  .page-trips .heroMap svg{right:-120px;width:126%}
  .eventCard .actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .heroMap,.heroMap .route,.heroMap .pin{animation:none;transition:none}
}

@media(max-width:430px){
  .phonePreview #panel-day .buildActions button,
  .phonePreview #panel-trips .buildActions button,
  .phonePreview #panel-list .buildActions button,
  .phonePreview .detailActions>*,
  .phonePreview .photoActions>*,
  .phonePreview .backupBtns>*,
  .phonePreview .calActions>*,
  .phonePreview .tripChoice .primary,
  .phonePreview .tripChoice .secondary{
    min-height:40px;
    padding-top:8px;
    padding-bottom:8px;
  }

  .phonePreview #panel-events .eventCard .actions .smallbtn,
  .phonePreview #panel-events .eventCard .actions select.smallbtn,
  .phonePreview .stopButtons .smallbtn{
    min-height:38px;
    padding-top:7px;
    padding-bottom:7px;
  }
}

.routePreferences{margin:8px 0 10px;border:1px solid rgba(199,214,239,.74);border-radius:16px;background:linear-gradient(145deg,rgba(255,253,248,.82),rgba(221,232,255,.42));box-shadow:0 10px 24px rgba(82,110,173,.08);overflow:hidden}
.routePreferences summary{cursor:pointer;list-style:none;padding:11px 12px;font-weight:900;color:var(--ink);display:flex;justify-content:space-between;align-items:center}
.routePreferences summary::-webkit-details-marker{display:none}
.routePreferences summary:after{content:"⌄";font-size:15px;color:#4F7FD4;transition:transform .18s ease}
.routePreferences[open] summary:after{transform:rotate(180deg)}
.routePreferences .formgrid{padding:0 12px 12px}
.resultPanelHead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(151,177,232,.5);border-radius:18px;background:linear-gradient(135deg,rgba(255,253,248,.82),rgba(221,232,255,.56));box-shadow:0 10px 26px rgba(82,110,173,.1)}
.resultPanelHead strong{font-size:13px;color:var(--ink)}
.resultClose{border:0;width:30px;height:30px;border-radius:999px;background:rgba(255,253,248,.84);color:#4F7FD4;font-size:18px;font-weight:900;line-height:1;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(151,177,232,.42)}
.routeStopSelector{position:relative;border:1px solid rgba(151,177,232,.58);border-radius:18px;padding:13px;background:linear-gradient(145deg,rgba(255,253,248,.88),rgba(221,232,255,.58),rgba(240,230,255,.45));box-shadow:0 14px 32px rgba(82,110,173,.13),inset 0 1px 0 rgba(255,255,255,.8)}
.routeStopSelector strong,.routeStopSelector small{display:block;padding-right:34px}
.routeStopSelector small{margin-top:3px;color:var(--muted);font-size:12px}
.routeStopSelector .resultClose,.routeErrorCard .resultClose{position:absolute;right:10px;top:10px}
.routeErrorCard{position:relative}
.itin{background:linear-gradient(135deg,rgba(221,232,255,.78),rgba(240,230,255,.5),rgba(255,253,248,.86));border:1px solid rgba(151,177,232,.45);box-shadow:0 10px 24px rgba(82,110,173,.1)}
.planTag.main{background:rgba(221,232,255,.82);color:#36547f}
.fidoSurpriseHost{scroll-margin-bottom:calc(138px + env(safe-area-inset-bottom));padding-bottom:calc(18px + env(safe-area-inset-bottom))}
.tripActions{display:flex;gap:8px;margin-top:10px}
.tripActions .smallbtn{flex:1;text-align:center}
.eventCard .actions select.smallbtn{text-align:center;text-align-last:center}
