:root{--hotel-accent:#6366f1;--hotel-accent-soft:#6366f126;--bg:#f7f7f7;--surface:#fff;--border:#eaeaea;--text:#222;--text-2:#717171;--c-accent:#ff5a5f;--c-accent-hover:#e31c5f;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 6px 16px #0000001f;--shadow-lg:0 12px 32px #00000024;--radius:16px;--radius-sm:8px;--ease:cubic-bezier(.2, 0, 0, 1);--map-control-bg:#ffffffd9;--map-control-border:#fff9;--input-bg:#fff;--city-filter-bg:#f1f5f9;--city-filter-border:#e2e8f0;--city-filter-text:#64748b;--city-filter-active-bg:#fff;--city-filter-active-text:#1e293b;--city-card-bg:#fff;--panel-muted-bg:#fafafa;--weather-bg:#f8fafc;--btn-accent-bg:#222;--btn-accent-hover:#000;--district-btn-active-bg:#1e293b;--district-btn-active-fg:#fff;--district-btn-active-border:#1e293b;--transit-btn-active-bg:#457b9d;--transit-btn-active-fg:#fff;--transit-btn-active-border:#457b9d}html[data-theme=night]{--bg:#1a2030;--surface:#242a3a;--border:#343d52;--text:#e8eaef;--text-2:#9aa3b5;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 6px 16px #00000073;--shadow-lg:0 12px 32px #00000080;--map-control-bg:#242a3aeb;--map-control-border:#ffffff1a;--input-bg:#2a3142;--city-filter-bg:#2a3142;--city-filter-border:#3d465c;--city-filter-text:#9aa3b5;--city-filter-active-bg:#343d52;--city-filter-active-text:#e8eaef;--city-card-bg:#2a3142;--panel-muted-bg:#2a3142;--weather-bg:#2a3142;--btn-accent-bg:#7c3aed;--btn-accent-hover:#6d28d9;--district-btn-active-bg:#e63946;--district-btn-active-fg:#fff;--district-btn-active-border:#e63946;--transit-btn-active-bg:#457b9d;--transit-btn-active-fg:#fff;--transit-btn-active-border:#5a9fd4}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);background-color:var(--app-bg-fallback,var(--bg));-webkit-font-smoothing:antialiased;width:100vw;height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;overflow:hidden}h1,h2,h3{letter-spacing:-.02em;font-family:Plus Jakarta Sans,sans-serif}#map-container{z-index:1;position:absolute;inset:0}@media (width>=769px) and (hover:none) and (pointer:coarse){#map-container{height:max(100vh, var(--map-h,0px));background:#b8d4e8;min-height:100vh;position:fixed;inset:0}html[data-theme=night] #map-container{background:#0c1219}}.map-loading-veil{z-index:1100;background:var(--surface,#fff);opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.map-loading-veil[hidden]{display:none}.map-loading-veil.is-visible{opacity:1;pointer-events:auto}.map-loading-spinner{border:3px solid var(--border,#e5e7eb);border-top-color:var(--c-accent,#ff385c);border-radius:50%;width:38px;height:38px;animation:.8s linear infinite spin}body.map-interactions-locked #map{cursor:progress}html[data-theme=night][data-map-satellite=false] #map-container .maplibregl-canvas{filter:brightness(1.75)saturate(.98);transition:filter .35s}html[data-theme=day] #map-container .maplibregl-canvas,html[data-map-satellite=true] #map-container .maplibregl-canvas{filter:none;transition:filter .35s}.map-marker{cursor:pointer;transition:transform .15s var(--ease), opacity .25s;flex-direction:column;align-items:center;display:flex}.map-marker:hover{transform:scale(1.08)translateY(-2px);z-index:1000!important}.marker-label{color:#fff;white-space:nowrap;box-shadow:var(--shadow-md);border:2px solid #ffffffb3;border-radius:20px;padding:3px 10px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.marker-dot{width:7px;height:7px;box-shadow:0 0 0 2px white, var(--shadow-sm);border-radius:50%;margin-top:3px}.map-marker.faded{opacity:.2;pointer-events:none}.map-marker.active{transform:scale(1.15)translateY(-4px);z-index:1001!important}.map-marker.active .marker-label{box-shadow:var(--shadow-lg), 0 0 0 3px #ffffffe6}.map-marker.out-of-budget{opacity:.12;filter:grayscale();pointer-events:none}#left-panel,#right-panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:10;flex-direction:column;padding:24px;display:flex;position:absolute}@keyframes slideInRight{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#left-panel{width:330px;max-height:calc(100vh - 48px);transition:width .4s var(--ease);scrollbar-width:thin;scrollbar-color:var(--border) transparent;gap:20px;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn;top:24px;left:24px;overflow-y:auto}#left-panel::-webkit-scrollbar{width:4px}#left-panel::-webkit-scrollbar-track{background:0 0}#left-panel::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:4px}body.city-mode #left-panel{scrollbar-width:none;-ms-overflow-style:none}body.city-mode #left-panel::-webkit-scrollbar{display:none}.app-brand{flex-direction:column;display:flex}.brand-title{font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:700}.brand-sub{color:var(--text-2);font-size:.8rem}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-icon{flex-shrink:0;width:32px;height:32px;display:block}.brand-icon--dark,html[data-theme=night] .brand-icon--light{display:none}html[data-theme=night] .brand-icon--dark{display:block}.brand-wordmark{width:auto;max-width:148px;height:22px;display:block}.brand-wordmark--dark,html[data-theme=night] .brand-wordmark--light{display:none}html[data-theme=night] .brand-wordmark--dark{display:block}.auth-brand{flex-direction:column;align-items:center;gap:10px;margin-bottom:18px;padding-top:4px;display:flex}.auth-brand-icon{width:40px;height:40px;display:block}.auth-brand-icon--dark,html[data-theme=night] .auth-brand-icon--light{display:none}html[data-theme=night] .auth-brand-icon--dark{display:block}.auth-brand-wordmark{width:auto;max-width:200px;height:26px;display:block}.auth-brand-wordmark--dark,html[data-theme=night] .auth-brand-wordmark--light{display:none}html[data-theme=night] .auth-brand-wordmark--dark{display:block}.filter-section-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.filter-section-header .ctrl-label{margin:0}.filter-expand-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-2);cursor:pointer;align-items:center;gap:5px;padding:4px 8px;font-size:.72rem;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.filter-expand-btn:hover{border-color:var(--text-2);color:var(--text)}.filter-expand-btn[aria-expanded=true] .filter-expand-chevron{transform:rotate(180deg)}.filter-expand-chevron{font-size:.85rem;transition:transform .2s}.filter-sliders-wrap[hidden]{display:none}.hub-section.needs-hub .ctrl-label{color:var(--c-accent)}.hub-section.needs-hub .hub-input-prompt{border-color:var(--c-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--c-accent) 18%, transparent)}.from-to-group .hub-section.needs-hub .hub-input-prompt{box-shadow:none}.globe-trip-body{flex-direction:column;gap:18px;display:flex}#hub-section{margin-bottom:2px}#hub-section+.ctrl-section{margin-top:2px}.ctrl-section{flex-direction:column;gap:8px;display:flex}#hub-section,#dest-section{gap:4px}.from-to-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);flex-direction:row;align-items:stretch;gap:9px;padding:8px 10px;display:flex;position:relative}.ft-rail{pointer-events:none;flex-direction:column;flex:0 0 16px;align-items:center;display:flex}.ft-dot{flex:none}.ft-dot-from{border:2px solid var(--c-accent);background:var(--input-bg);box-sizing:border-box;border-radius:50%;width:11px;height:11px;margin-top:19px}.ft-line{border-left:2px dotted var(--border);flex:auto;width:0;margin:4px 0}.ft-dot-to{color:var(--c-accent);margin-bottom:15px;font-size:17px;line-height:1}.ft-cols{flex-direction:column;flex:auto;min-width:0;display:flex}.ft-cols #hub-section{border-bottom:1px dashed var(--border);padding-bottom:7px}.ft-cols #dest-section{padding-top:7px}.ft-field .hub-input{background:0 0;border:none;border-radius:0;padding:4px 6px}.ft-field .hub-input:focus{box-shadow:none}.hub-section.needs-hub .ft-dot-from{box-shadow:0 0 0 3px color-mix(in srgb, var(--c-accent) 22%, transparent)}.ctrl-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:600}.date-row{align-items:center;gap:6px;display:flex}input[type=date]{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:var(--input-bg);outline:none;flex:1;padding:7px 6px;font-family:Inter,sans-serif;font-size:.8rem;transition:border-color .2s}input[type=date]:focus{border-color:var(--text)}.date-sep{color:var(--text-2);font-size:.85rem;font-weight:500}.nights-display{color:var(--text-2);font-size:.8rem}.filter-row{border-top:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.filter-row:first-of-type{border-top:none}.filter-detail{flex-direction:column;flex:1;gap:4px;display:flex}.filter-name{color:var(--text);font-size:.78rem;font-weight:500}.filter-slider-row{align-items:center;gap:8px;min-width:0;display:flex}.filter-slider-row input[type=range]{min-width:0;accent-color:var(--c-accent);cursor:pointer;flex:1 1 0}.filter-slider-row input[type=range]:disabled{opacity:.3;cursor:not-allowed}.filter-val{text-align:right;min-width:4.75rem;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.78rem;font-weight:600}.filter-detail{min-width:0}body.just-browsing #admin-show-all-btn{display:none!important}.filter-pills-row{flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:4px;display:flex}.filter-pills-row>#filter-favorites-btn,.filter-pills-row>#friend-circles-toggle-btn{flex:calc(50% - 4px);justify-content:center}.toggle-switch{flex-shrink:0;width:36px;height:20px;margin-top:2px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background:#cbd5e1;border-radius:20px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background:var(--c-accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}#right-panel{opacity:0;width:370px;max-height:calc(100vh - 48px);transition:transform .4s var(--ease), opacity .3s var(--ease);scrollbar-width:none;top:24px;right:24px;overflow-y:auto;transform:translate(120%)}#right-panel::-webkit-scrollbar{display:none}#right-panel.active{opacity:1;transform:translate(0)}#close-panel{background:var(--bg);cursor:pointer;width:32px;height:32px;color:var(--text);border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;top:14px;right:14px}#close-panel:hover{background:var(--border)}#panel-content{flex-direction:column;gap:18px;display:flex}.dest-header{padding-right:0}.dest-header .dest-meta,.dest-header #d-name{padding-right:30px}.dest-meta{color:var(--text-2);align-items:center;gap:8px;margin-bottom:2px;font-size:.85rem;display:flex}#d-flag{font-size:18px}#d-name{font-size:1.6rem;font-weight:700;line-height:1.1}.facts-grid{background:var(--bg);border-radius:var(--radius-sm);grid-template-columns:1fr;gap:14px;padding:14px;display:grid}.fact-item{color:var(--text);align-items:flex-start;gap:10px;font-size:.85rem;display:flex}.fact-item i{color:var(--text-2);text-align:center;flex-shrink:0;width:18px;margin-top:1px;font-size:16px}.visa-box{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-2);background:var(--panel-muted-bg);padding:10px 14px;font-size:.82rem;line-height:1.4}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.action-grid.poi-spot-links{flex-wrap:nowrap;gap:8px;display:flex}.action-grid.poi-spot-links .act-btn{flex:1 1 0;justify-content:center;min-width:0;padding:10px 8px;font-size:.78rem}.action-grid.poi-spot-links .act-btn span{margin-left:4px}.act-btn{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--text);color:var(--text);justify-content:center;align-items:center;gap:8px;padding:11px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex}.act-btn:hover{background:var(--bg)}.act-btn i{font-size:16px}.flights-btn{color:#fff;background:#0e9f6e;border-color:#0e9f6e;grid-column:span 2}.flights-btn:hover{background:#0b8a5f;border-color:#0b8a5f}.act-btn.act-btn-disabled,.act-btn.act-btn-disabled:hover{background:var(--bg);border-color:var(--border);color:var(--text-muted,#9aa3b2);cursor:not-allowed;opacity:.7;filter:grayscale()}.godeeper-btn{background:var(--btn-accent-bg);border-color:var(--btn-accent-bg);color:#fff;grid-column:span 2}.godeeper-btn:hover{background:var(--btn-accent-hover);border-color:var(--btn-accent-hover)}.godeeper-fav-row{align-items:stretch;gap:8px;margin:4px 0 10px;display:flex}.godeeper-top{flex:auto;width:auto;margin:0}.act-btn-wide{grid-column:1/-1}.booking-btn{color:#fff;background:#003580;border-color:#003580}.booking-btn:hover{background:#00224f;border-color:#00224f}.airbnb-btn{color:#fff;background:#ff5a5f;border-color:#ff5a5f}.airbnb-btn:hover{background:#e84c50;border-color:#e84c50}.google-btn{border-color:var(--border);color:#3c4043;background:#fff}.google-btn:hover{background:#f8f9fa;border-color:#dadce0}html[data-theme=night] .google-btn{color:#3c4043;background:#fff}.brand-ico{flex:none;width:17px;height:17px;display:inline-block}.dest-image{object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;width:calc(100% + 48px);height:180px;margin:-24px -24px 0;display:none}.dest-vibe{color:var(--text-2);margin-top:4px;font-size:.85rem;font-style:italic}.fav-btn{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-muted-bg);cursor:pointer;width:46px;color:var(--text-2);flex:none;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.fav-btn i{font-size:20px;line-height:1}.fav-btn:hover{border-color:var(--c-accent);color:var(--c-accent)}.fav-btn.is-fav{border-color:var(--c-accent);color:var(--c-accent);background:#ff5a5f1f}html[data-theme=night] .fav-btn.is-fav{background:#ff5a5f2e}.delete-city-btn{cursor:pointer;color:var(--text-2);text-align:center;background:0 0;border:none;margin:20px auto 5px;padding:6px 12px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:500;text-decoration:underline;transition:color .15s;display:block}.delete-city-btn:hover{color:#c0392b;background:0 0;border:none}.edit-pin-btn:hover{color:var(--c-accent)}#panel-bottom-actions{text-align:center;justify-content:center;align-items:center;gap:0;width:100%;margin:10px auto 4px;display:flex}#panel-bottom-actions>*{display:none}#panel-bottom-actions>[style*="display: inline-flex"],#panel-bottom-actions>[style*=display\:inline-flex]{display:inline-flex!important}#panel-bottom-actions>[style*="display: inline-flex"]+[style*="display: inline-flex"]:before,#panel-bottom-actions>[style*=display\:inline-flex]+[style*=display\:inline-flex]:before{content:"|";color:var(--border);margin:0 8px 0 6px}#edit-pin-btn,#delete-city-btn,#poi-map-action-wrap{margin:0!important}.pin-edit-save-bar{justify-content:center;gap:8px;margin:12px auto 4px;padding:0 12px;display:none}.pin-edit-save-btn,.pin-edit-cancel-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);padding:8px 14px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600}.pin-edit-save-btn{color:#4ade80;background:#22c55e2e;border-color:#22c55e59}.pin-edit-cancel-btn{background:var(--panel-muted-bg);color:var(--text-2)}#map-container.pin-edit-mode .city-marker-wrapper{cursor:grab}#map-container.pin-edit-mode .city-marker-wrapper:active{cursor:grabbing}.highlights-grid{flex-direction:column;gap:10px;display:flex}.hl-item{color:var(--text);transition:transform .2s var(--ease);align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.4;display:flex}.hl-item:hover{transform:translate(4px)}.hl-icon{flex-shrink:0;margin-top:1px;font-size:18px}.hl-item strong{color:var(--text)}.weather-box{background:var(--weather-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px}.weather-header{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;margin-bottom:10px;font-size:.75rem;font-weight:600;display:flex}.w-nav-btn{cursor:pointer;color:var(--text-2);transition:all .2s var(--ease);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;font-size:14px;display:flex}.w-nav-btn:hover:not(:disabled){background:var(--city-filter-bg);color:var(--text)}.w-nav-btn:disabled{opacity:.3;cursor:not-allowed}.weather-header i{font-size:14px}.weather-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.weather-day{color:var(--text);text-align:center;transition:transform .2s var(--ease);flex-direction:column;align-items:center;gap:4px;font-size:.75rem;display:flex}.weather-day:hover{transform:scale(1.08)}.weather-day i{color:var(--text-2);font-size:20px;transition:color .2s}.weather-day:hover i{color:var(--text)}.w-date{color:var(--text-2);font-size:.65rem}.w-temp{font-weight:600}.sat-toggle{z-index:20;background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);cursor:pointer;transition:all .2s var(--ease);border:none;border-radius:20px;align-items:center;gap:6px;padding:10px 14px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;display:flex;position:absolute;bottom:24px;right:24px}.sat-toggle:hover{background:#f1f5f9;transform:translateY(-2px)}.sat-toggle.active{color:#fff;background:#1e293b}.back-to-globe{z-index:20;background:var(--surface);color:var(--text);border:2px solid var(--text);box-shadow:var(--shadow-lg);cursor:pointer;transition:all .2s var(--ease);border-radius:30px;align-items:center;gap:8px;padding:12px 20px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:700;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.back-to-globe:hover{background:var(--text);color:#fff}.city-filters{background:var(--city-filter-bg);border:1px solid var(--city-filter-border);border-radius:12px;gap:2px;margin-top:12px;margin-bottom:16px;padding:4px;display:flex}.city-filter-btn{text-align:center;color:var(--city-filter-text);cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;font-family:Inter,sans-serif;font-size:.76rem;font-weight:600;display:flex}.city-filter-btn:hover{color:var(--text)}.city-filter-btn.active{background:var(--city-filter-active-bg);color:var(--city-filter-active-text);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.city-hotel-slot{display:none}.city-poi-item.stay-poi-item{border:1px solid var(--border);background:var(--city-card-bg);align-items:flex-start}.stay-list-thumb,.add-point-thumb{object-fit:none;background:linear-gradient(145deg, var(--stay-accent-soft,#eef2ff), #fff);justify-content:center;align-items:center;font-size:1.45rem;display:flex}.stay-poi-item .city-poi-info{flex:1;justify-content:flex-start;align-self:stretch;min-width:0;padding-top:1px}.stay-poi-item .city-poi-title{white-space:normal;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;line-height:1.28;display:-webkit-box;overflow:hidden}.stay-choose-thumb{flex-shrink:0;padding:0;position:relative;overflow:hidden}.stay-thumb-default{justify-content:center;align-items:center;width:100%;height:100%;font-size:1.45rem;transition:opacity .15s;display:flex}.stay-thumb-choose-btn{background:var(--stay-accent-soft,#6366f11f);color:var(--stay-accent,var(--hotel-accent));cursor:pointer;opacity:0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:0;padding:4px;transition:opacity .15s;display:flex;position:absolute;inset:0}.stay-thumb-choose-btn i{font-size:1.15rem}.stay-thumb-hint{text-transform:uppercase;letter-spacing:.02em;text-align:center;max-width:54px;font-size:.52rem;font-weight:700;line-height:1.1}.stay-choose-thumb.is-chosen .stay-thumb-default{opacity:0}.stay-choose-thumb.is-chosen .stay-thumb-choose-btn{opacity:1;background:var(--stay-accent-soft,var(--hotel-accent-soft))}.stay-poi-item:hover .stay-choose-thumb:not(.is-chosen) .stay-thumb-default{opacity:0}.stay-poi-item:hover .stay-choose-thumb:not(.is-chosen) .stay-thumb-choose-btn{opacity:1}.stay-choose-thumb{cursor:pointer}.stay-choose-thumb:focus-visible{outline:2px solid var(--stay-accent,var(--hotel-accent));outline-offset:2px}@media (hover:none){.stay-choose-thumb:not(.is-chosen) .stay-thumb-default{opacity:.35}.stay-choose-thumb:not(.is-chosen) .stay-thumb-choose-btn{opacity:.92}}.stay-action-btn.stay-actual-btn.is-active{border-color:var(--stay-accent,var(--hotel-accent));background:var(--stay-accent-soft,var(--hotel-accent-soft))}.city-poi-item.stay-poi-item.stay-platform-airbnb{--stay-accent:#ff385c;--stay-accent-soft:#ff385c1f}.city-poi-item.stay-poi-item.stay-platform-booking{--stay-accent:#003580;--stay-accent-soft:#0035801a}.city-poi-item.stay-poi-item.stay-platform-hotels,.city-poi-item.stay-poi-item.stay-platform-other{--stay-accent:#0d9488;--stay-accent-soft:#0d94881f}.city-poi-item.stay-poi-item.stay-platform-private{--stay-accent:#ca8a04;--stay-accent-soft:#ca8a0424}.city-poi-item.stay-poi-item.is-actual-stay{border:1.5px solid color-mix(in srgb, var(--stay-accent,var(--hotel-accent)) 42%, var(--border));background:var(--city-card-bg);box-shadow:none}.stay-poi-thumb{background:linear-gradient(145deg, var(--stay-accent-soft,#eef2ff), #fff);border:2px solid var(--stay-accent,var(--hotel-accent));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.6rem;display:flex}.stay-poi-actions{flex-direction:row;flex-shrink:0;align-self:center;align-items:center;gap:4px;display:flex}.stay-action-btn{border:1px solid var(--border);background:var(--surface);min-width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.72rem;font-weight:600;text-decoration:none;display:inline-flex}.stay-action-btn.stay-actual-btn{border-color:var(--stay-accent,var(--hotel-accent));color:var(--stay-accent,var(--hotel-accent))}.stay-action-btn.stay-listing-btn.stay-platform-airbnb,.city-poi-item.stay-platform-airbnb .stay-listing-btn{color:#ff385c;border-color:#ff385c59}.city-poi-item.stay-platform-booking .stay-listing-btn{color:#003580;background:#0035800f;border-color:#00358059}.city-poi-item.stay-platform-booking .stay-listing-btn:hover{background:#00358024;border-color:#003580}.stay-action-btn.stay-remove-btn{color:var(--text-2);background:0 0;border-color:#0000}.city-marker-wrapper.hotel-marker.stay-platform-airbnb .hotel-marker-icon{border-color:#ff385c;box-shadow:0 2px 10px #ff385c59}.city-marker-wrapper.hotel-marker.stay-platform-booking .hotel-marker-icon{border-color:#003580;box-shadow:0 2px 10px #0035804d}.city-marker-wrapper.hotel-marker.stay-platform-private .hotel-marker-icon{border-color:#ca8a04;box-shadow:0 2px 10px #ca8a0459}.city-marker-wrapper.hotel-marker.is-actual-stay-marker .hotel-marker-icon{border:2px solid color-mix(in srgb, var(--stay-accent,var(--hotel-accent)) 50%, transparent)!important;background:linear-gradient(145deg, #fff, color-mix(in srgb, var(--stay-accent-soft,#eef2ff) 35%, #fff))!important;box-shadow:0 2px 10px color-mix(in srgb, var(--stay-accent,var(--hotel-accent)) 22%, transparent)!important;border-radius:50%!important}.city-marker-wrapper.hotel-marker.stay-platform-airbnb.is-actual-stay-marker .hotel-marker-icon{border-color:#ff385c8c!important;box-shadow:0 2px 10px #ff385c38!important}.city-marker-wrapper.hotel-marker.stay-platform-booking.is-actual-stay-marker .hotel-marker-icon{border-color:#0035808c!important;box-shadow:0 2px 10px #00358033!important}.city-marker-wrapper.hotel-marker.stay-platform-private.is-actual-stay-marker .hotel-marker-icon{border-color:#ca8a0480!important;box-shadow:0 2px 10px #ca8a0433!important}.city-marker-wrapper.hotel-marker.is-actual-stay-marker.active .hotel-marker-icon,.city-marker-wrapper.hotel-marker.is-actual-stay-marker:hover .hotel-marker-icon{transform:scale(1.1);box-shadow:0 3px 12px color-mix(in srgb, var(--stay-accent,var(--hotel-accent)) 28%, transparent)!important}.add-stay-hint{color:var(--text-2);margin:0 0 12px;font-size:.78rem;line-height:1.35}.city-hotel-card{border:2px solid var(--hotel-accent);background:linear-gradient(135deg, var(--hotel-accent-soft), var(--surface));cursor:pointer;transition:box-shadow .2s var(--ease);border-radius:14px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.city-hotel-card:hover{box-shadow:var(--shadow-md)}.city-hotel-card-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--hotel-accent);font-size:.72rem;font-weight:700}.city-hotel-card-title{color:var(--text);font-size:1rem;font-weight:700}.city-hotel-card-desc{color:var(--text-2);font-size:.8rem;line-height:1.35}.city-hotel-card-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.city-hotel-card-btn{border:1px solid var(--hotel-accent);background:var(--surface);color:var(--hotel-accent);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:6px 10px;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.city-hotel-card-btn.secondary{border-color:var(--border);color:var(--text)}.city-hotel-card-btn.danger{color:var(--text-2);background:0 0;border-color:#0000;margin-left:auto}.city-marker-wrapper.hotel-marker .hotel-marker-icon{border:3px solid var(--hotel-accent);background:linear-gradient(145deg,#eef2ff,#fff);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:flex;box-shadow:0 4px 14px #6366f173}.city-marker-wrapper.hotel-marker.active .hotel-marker-icon{transform:scale(1.12);box-shadow:0 6px 20px #6366f18c}.city-districts-legend{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:12px;padding-bottom:2px;display:flex;overflow-x:auto}.city-districts-legend::-webkit-scrollbar{display:none}.district-toggle-btn{background:var(--city-card-bg);color:var(--text-2);border:1.5px solid var(--border);cursor:pointer;transition:all .2s var(--ease);border-radius:14px;flex-shrink:0;align-items:center;gap:5px;padding:3px 9px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:700;display:inline-flex}.district-toggle-btn[data-active=false]{background:var(--city-card-bg);color:var(--text-2);border-color:var(--border)}#districts-toggle-btn[data-active=true]{background:var(--district-btn-active-bg);color:var(--district-btn-active-fg);border-color:var(--district-btn-active-border)}#transit-toggle-btn[data-active=true]{background:var(--transit-btn-active-bg);color:var(--transit-btn-active-fg);border-color:var(--transit-btn-active-border)}.district-toggle-btn:disabled{cursor:not-allowed}.district-toggle-btn i{font-size:13px}#districts-toggle-btn .ti-loader{animation:1s linear infinite spin}#main-sites-toggle-btn[data-active=true]{color:#b45309;background:#f59e0b26;border-color:#f59e0b73}#friend-pins-toggle-btn[data-active=true]{color:#047857;background:#10b98126;border-color:#10b98173}.map-transit-btn.active{background:var(--transit-btn-active-bg,#3b82f633)!important;color:var(--transit-btn-active-fg,#1d4ed8)!important;border-color:var(--transit-btn-active-border,#3b82f680)!important}.city-friends-btn[data-shared=true]{color:#047857;background:#10b9811f;border-color:#10b98159}.maplibregl-ctrl-zoom-in,.maplibregl-ctrl-zoom-out,.maplibregl-ctrl-group.maplibregl-ctrl{display:none!important}.pin-parse-actions{gap:8px;margin-top:8px;display:flex}.pin-parse-status{border:1px solid var(--border);background:var(--surface-2,#94a3b814);border-radius:10px;margin-top:8px;padding:8px 10px}.pin-parse-status[hidden]{display:none!important}.pin-parse-status-text{color:var(--text-2);margin:0 0 8px;font-size:.72rem;font-weight:600;line-height:1.35}.pin-parse-status-track{background:#94a3b840;border-radius:4px;height:4px;display:none;overflow:hidden}.pin-parse-status-bar{background:linear-gradient(90deg,#457b9d,#8b5cf6,#457b9d) 0 0/200% 100%;border-radius:4px;width:35%;height:100%;display:block}.pin-parse-status.is-active .pin-parse-status-track{display:block}.pin-parse-status.is-active .pin-parse-status-bar{animation:1.4s ease-in-out infinite parseStatusSlide}@keyframes parseStatusSlide{0%{background-position:0%;transform:translate(-120%)}to{background-position:100%;transform:translate(320%)}}.pin-parse-actions .pin-parse-btn,.pin-parse-actions .pin-suggest-btn{flex:1;margin:0}.pin-suggest-btn{cursor:pointer;color:#6d28d9;transition:all .2s var(--ease);background:#8b5cf61f;border:1.5px solid #8b5cf673;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.pin-suggest-btn:hover:not(:disabled){background:#8b5cf638}.pin-suggest-btn:disabled{opacity:.6;cursor:not-allowed}.city-social-actions{margin:8px 0 10px}.publish-city-btn{color:#047857;cursor:pointer;background:#10b98114;border:1px solid #10b98166;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.publish-city-btn:hover{background:#10b98129}.friends-activity-feed{background:var(--city-card-bg);border:1px solid var(--border);border-radius:12px;max-height:120px;margin-bottom:10px;padding:10px 12px;overflow-y:auto}.friends-feed-title{color:var(--text-2);align-items:center;gap:4px;margin-bottom:6px;font-size:.72rem;font-weight:700;display:flex}.friends-feed-item{color:var(--text-1);border-bottom:1px solid var(--border);padding:4px 0;font-size:.75rem}.friends-feed-item:last-child{border-bottom:none}.friend-poi-item{border-left:3px solid var(--friend-color,#10b981)}.friend-poi-item.friend-poi-item-glow{background:color-mix(in srgb, var(--friend-color,#10b981) 9%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--friend-color,#10b981) 22%, transparent)}.friend-poi-item.friend-poi-item-glow .city-poi-img{isolation:isolate;box-shadow:none;position:relative;background:0 0!important;border:none!important}.friend-poi-item.friend-poi-item-glow .city-poi-img:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--friend-color,#10b981) 88%, transparent) 0%, color-mix(in srgb, var(--friend-color,#10b981) 48%, transparent) 32%, transparent 58%);filter:blur(3px);z-index:-1;pointer-events:none;border-radius:50%;animation:2.4s ease-in-out infinite friend-poi-glow-pulse;position:absolute;inset:14%}.friend-poi-item.stay-poi-item.friend-poi-item-glow{border-color:color-mix(in srgb, var(--friend-color,#10b981) 28%, var(--border))}.friend-poi-item.stay-poi-item.friend-poi-item-glow:hover{border-color:var(--friend-color,#10b981);background:color-mix(in srgb, var(--friend-color,#10b981) 9%, var(--city-card-bg))}.friend-poi-item.friend-poi-item-glow .city-poi-cat{color:var(--friend-color,#10b981)}.friend-poi-item.friend-poi-item-glow .friend-poi-by{color:var(--friend-color,#10b981);font-weight:700}@keyframes friend-poi-glow-pulse{0%,to{opacity:.72;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}.friend-poi-item.note-poi-item{border-left-color:var(--friend-color,#10b981);background:color-mix(in srgb, var(--friend-color,#10b981) 10%, transparent)}.note-poi-attribution{color:var(--friend-color,#e63946);margin-bottom:2px;font-size:.72rem;font-weight:700}.note-cluster-more{color:var(--text-2);font-size:.72rem;font-weight:700}.friend-note-panel-line{border-left:3px solid var(--friend-color,#10b981);margin-bottom:8px;padding-left:8px}.note-comments-list{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.note-comment-item{font-size:.82rem;line-height:1.35}.note-comment-item.note-comment-pending{background:#3b82f614;border-radius:8px;padding:6px 8px}.note-comment-item.note-comment-owner-hidden{opacity:.42}.note-comment-eye-btn,.note-comment-accept-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;vertical-align:middle;border-radius:6px;margin-left:6px;padding:2px 7px;font-size:.85rem;line-height:1}.note-comment-accept-btn{color:#047857}.note-comment-eye-btn{color:var(--text-2)}.note-comment-eye-btn .ti-eye-off{opacity:.55}.city-note-alerts{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.city-note-alerts[hidden]{display:none!important}.city-note-alert-item{background:#3b82f61a;border:1px solid #3b82f640;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.78rem;line-height:1.35;display:flex}.city-note-alert-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.note-alert-accept,.note-alert-view,.note-alert-dismiss{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:.72rem;font-weight:700}.note-alert-accept{color:#047857}.note-alert-view{color:var(--text-1)}.note-alert-dismiss{color:var(--text-2);padding-inline:7px}.friend-stay-marker{position:relative}.note-comment-save-btn{justify-content:center;width:100%;margin-top:8px}.friend-poi-by{color:var(--text-2);font-size:.72rem;font-weight:600}.friend-pin-marker{position:relative}.friend-pin-name-tag{background:var(--friend-color,#10b981);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:8px;max-width:92px;padding:1px 6px;font-size:.58rem;font-weight:700;line-height:1.25;transition:opacity .15s,visibility .15s;position:absolute;bottom:calc(100% + 4px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 1px 4px #0000002e}.friend-pin-name-tag.friend-pin-name-hidden{opacity:0;visibility:hidden}.friend-marker-icon{isolation:isolate;position:relative;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.friend-marker-icon:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--friend-color,#10b981) 92%, transparent) 0%, color-mix(in srgb, var(--friend-color,#10b981) 52%, transparent) 32%, transparent 58%);filter:blur(4px);z-index:-1;pointer-events:none;border-radius:50%;width:38px;height:38px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.city-marker-wrapper.friend-stay-marker .hotel-marker-icon.friend-marker-icon{width:44px;height:44px;font-size:1.35rem}.city-marker-wrapper.friend-stay-marker.active .hotel-marker-icon.friend-marker-icon,.city-marker-wrapper.friend-stay-marker:hover .hotel-marker-icon.friend-marker-icon{box-shadow:none}.city-marker-wrapper.friend-pin-marker:hover .friend-marker-icon:before,.city-marker-wrapper.friend-pin-marker.active .friend-marker-icon:before,.city-marker-wrapper.friend-stay-marker:hover .friend-marker-icon:before,.city-marker-wrapper.friend-stay-marker.active .friend-marker-icon:before{filter:blur(3.5px);transform:translate(-50%,-50%)scale(1.08)}.friend-marker-avatar{object-fit:cover;border:2px solid #fff;border-radius:50%;width:18px;height:18px;position:absolute;bottom:-4px;right:-6px;box-shadow:0 1px 4px #00000040}.friend-marker-initial{background:var(--friend-color,#10b981);color:#fff;justify-content:center;align-items:center;font-size:.55rem;font-weight:800;display:flex}.friend-panel-badge{color:#047857;background:#10b9811f;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:.72rem;font-weight:600}.header-profile-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;width:100%;display:flex;overflow:visible}.trip-header-pill{border:1px solid var(--border);background:var(--surface,#fff);max-width:min(240px,52vw);color:var(--text);cursor:pointer;border-radius:22px;align-items:center;gap:6px;padding:6px 12px 6px 10px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;transition:border-color .15s,box-shadow .15s,transform .15s;display:inline-flex;box-shadow:0 2px 10px #0000000f}.trip-header-pill:hover{border-color:var(--c-accent,#3b82f6);box-shadow:0 4px 14px #3b82f61f}.trip-header-pill[hidden]{display:none!important}.trip-header-pill i{color:var(--c-accent,#3b82f6);flex-shrink:0;font-size:1rem}.trip-header-pill span{text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.trip-header-pill.trip-header-pill--active{border-color:color-mix(in srgb, var(--c-accent,#3b82f6) 50%, var(--border));background:color-mix(in srgb, var(--c-accent,#3b82f6) 8%, var(--surface,#fff))}.trip-planner-sheet{z-index:400;pointer-events:none;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}.trip-planner-sheet[hidden]{display:none!important}.trip-planner-backdrop{display:none}.trip-planner-panel{pointer-events:auto;background:var(--surface,#fff);border:1px solid var(--border);width:min(440px,100%);max-height:82vh;padding-bottom:env(safe-area-inset-bottom,0px);will-change:transform;border-bottom:none;border-radius:22px 22px 0 0;flex-direction:column;transition:transform .34s cubic-bezier(.22,.61,.36,1);display:flex;position:relative;overflow:hidden;transform:translateY(100%);box-shadow:0 -12px 44px #00000038}.trip-planner-sheet--open .trip-planner-panel{transform:translateY(0)}.trip-sheet-grab{cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0;justify-content:center;width:100%;padding:10px 0 4px;display:flex}.trip-sheet-grab:active{cursor:grabbing}.trip-sheet-grab-pill{background:var(--border,#d1d5db);border-radius:3px;width:40px;height:5px}.trip-planner-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:4px 18px 8px;display:flex}.trip-planner-header h2{margin:0;font-size:1.05rem;font-weight:700}.trip-planner-close{cursor:pointer;color:var(--text-2);background:0 0;border:none;padding:4px;font-size:1.2rem}.trip-planner-body{-webkit-overflow-scrolling:touch;flex:0 auto;padding:12px 16px 8px;overflow-y:auto}body.trips-in-card #hub-section,body.trips-in-card #dest-section,body.trips-in-card #travel-dates-section,body.trips-in-card #filter-section,body.trips-in-card .globe-add-city-row,body.trips-in-card #mobile-globe-trip-strip,body.trip-editor-in-card #hub-section,body.trip-editor-in-card #dest-section,body.trip-editor-in-card #travel-dates-section,body.trip-editor-in-card #filter-section,body.trip-editor-in-card .globe-add-city-row,body.trip-editor-in-card #mobile-globe-trip-strip,body.trips-in-card .from-to-group,body.trip-editor-in-card .from-to-group{display:none!important}.globe-trip-body>.trip-editor-panel,.globe-trip-body>.trip-planner-panel{width:100%;max-height:none;box-shadow:none;pointer-events:auto;will-change:auto;background:0 0;border:none;border-radius:0;padding:0;position:static;transform:none!important}.globe-trip-body>.trip-planner-panel .trip-sheet-grab,.globe-trip-body>.trip-planner-panel .trip-planner-header{display:none}.globe-trip-body>.trip-planner-panel .trip-planner-body{max-height:none;padding:12px 2px 4px;overflow:visible}.trip-planner-list-wrap:last-child{margin-bottom:0}.trip-editor-bar{z-index:360;pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.trip-editor-bar[hidden]{display:none!important}.trip-editor-panel{pointer-events:auto;width:min(440px,100%);padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface,#fff);border:1px solid var(--border);will-change:transform;border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;gap:10px;transition:transform .32s cubic-bezier(.22,.61,.36,1);display:flex;transform:translateY(110%);box-shadow:0 -10px 36px #0003}.trip-editor-bar--open .trip-editor-panel{transform:translateY(0)}.trip-editor-head{align-items:center;gap:8px;display:flex}.trip-editor-head .trip-active-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.98rem;font-weight:700;line-height:1.2;overflow:hidden}.trip-editor-switch{border:1px solid var(--border);background:var(--surface,#fff);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;display:inline-flex}.trip-editor-close{border:1px solid var(--c-accent,#3b82f6);background:var(--c-accent,#3b82f6);color:#fff;cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;height:34px;padding:0 13px;font-size:.85rem;font-weight:600;display:inline-flex}.trip-editor-close i{font-size:1rem}.trip-editor-close:hover{filter:brightness(.95)}.trip-name-edit-btn{width:28px;height:28px;color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:-2px;font-size:.95rem;transition:background .15s,color .15s;display:inline-flex}.trip-name-edit-btn:hover{background:var(--surface-muted,#0000000f);color:var(--text,#111)}.trip-active-name.editing{text-overflow:clip;white-space:normal;background:var(--surface,#fff);box-shadow:0 0 0 2px var(--c-accent,#3b82f6);cursor:text;border-radius:8px;outline:none;margin:-2px -6px;padding:2px 6px;overflow:visible}.trip-editor-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.trip-editor-actions .filter-pill-btn{border-radius:13px;flex-direction:row;justify-content:center;align-items:center;gap:7px;min-width:0;padding:11px 10px;line-height:1.1;display:flex}.trip-editor-actions .filter-pill-btn i{flex-shrink:0;font-size:1.1rem}.trip-editor-actions .filter-pill-btn span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.trip-editor-actions .filter-pill-btn.active{background:var(--c-accent,#3b82f6);color:#fff;border-color:var(--c-accent,#3b82f6)}.left-panel-collapse{display:none}.left-panel-reopen{display:none!important}@media (width>=769px){.left-panel-collapse{border:1px solid var(--border);background:var(--surface,#fff);width:28px;height:28px;color:var(--text-2);cursor:pointer;z-index:5;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;top:10px;right:10px}.left-panel-collapse:hover{color:var(--text);border-color:var(--text-2)}.left-panel-collapse--back{color:var(--text)}.left-panel-collapse--back:hover{color:var(--c-accent,#3b82f6);border-color:var(--c-accent,#3b82f6)}body.left-panel-collapsed #travel-dates-section,body.left-panel-collapsed #filter-section{display:none}.trip-planner-sheet,.trip-editor-bar{justify-content:flex-end;align-items:flex-start;padding:24px}.trip-planner-panel{border:1px solid var(--border);border-radius:18px;width:min(360px,100%);max-height:calc(100vh - 48px);transition:transform .34s cubic-bezier(.22,.61,.36,1);transform:translate(calc(100% + 32px));box-shadow:0 18px 50px #0000002e}.trip-planner-sheet--open .trip-planner-panel{transform:translate(0)}.trip-planner-sheet .trip-sheet-grab{display:none}.trip-editor-panel{border:1px solid var(--border);border-radius:18px;width:min(360px,100%);padding:16px;transition:transform .32s cubic-bezier(.22,.61,.36,1);transform:translate(calc(100% + 32px));box-shadow:0 18px 50px #0000002e}.trip-editor-bar--open .trip-editor-panel{transform:translate(0)}}.trip-card-shell{border:1px solid var(--border);background:var(--surface,#fff);border-radius:12px;flex-direction:row;align-items:center;display:flex;position:relative;overflow:hidden}.trip-card-shell:has(button.active){border-color:var(--c-accent,#3b82f6);background:#3b82f60f}.trip-card-actions{flex-shrink:0;gap:6px;padding:6px 8px 6px 0;display:flex}.trip-planner-trip-list .trip-card-btn{border:1px solid var(--border);background:var(--surface,#fff);width:36px;min-width:0;height:36px;color:var(--text-2);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.trip-planner-trip-list .trip-card-btn i{font-size:1.05rem}.trip-planner-trip-list .trip-card-edit:hover,.trip-planner-trip-list .trip-card-edit:active{color:var(--c-accent,#3b82f6);border-color:var(--c-accent,#3b82f6);background:#3b82f614}.trip-planner-trip-list .trip-card-delete:hover,.trip-planner-trip-list .trip-card-delete:active{color:#dc2626;background:#ef444414;border-color:#dc2626}.trip-planner-mode-btn{text-align:left;border:1px solid var(--border);background:var(--panel-muted-bg,#00000005);cursor:pointer;width:100%;color:var(--text);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.trip-planner-mode-btn.active{border-color:var(--c-accent,#3b82f6);background:#3b82f614}.trip-planner-mode-btn span{flex-direction:column;gap:2px;display:flex}.trip-planner-mode-btn strong{font-size:.88rem}.trip-planner-mode-btn small{color:var(--text-2);font-size:.72rem;font-weight:400}.trip-planner-list-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:8px;font-size:.65rem;font-weight:600}.trip-planner-trip-list{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.trip-planner-trip-list .trip-card-main{cursor:pointer;width:100%;min-width:0;color:var(--text);text-align:left;background:0 0;border:none;border-radius:0;flex-direction:row;flex:auto;align-items:center;gap:10px;padding:10px 12px;font-size:.84rem;display:flex}.trip-card-emoji{flex-shrink:0;font-size:1.3rem;line-height:1}.trip-card-textcol{flex-direction:column;gap:3px;min-width:0;display:flex}.trip-meta-sep{opacity:.5;margin:0 1px}.trip-planner-trip-list button.active{background:0 0}.trip-planner-trip-list li>button:not(.trip-card-main){border:1px solid var(--border);background:var(--surface,#fff);cursor:pointer;width:100%;color:var(--text);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;font-size:.84rem;display:flex}.trip-card-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;line-height:1.25;overflow:hidden}.trip-card-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:3px;font-size:.72rem;line-height:1.3;display:flex}.trip-card-meta i{font-size:.85rem}.trip-planner-active-section{border:1px solid var(--c-accent,#3b82f6);background:#3b82f60f;border-radius:14px;margin:4px 0 16px;padding:12px;animation:.22s ease-out tripCardIn}@keyframes tripCardIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.trip-active-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.trip-active-headtext{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.trip-active-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:700;line-height:1.2;overflow:hidden}.trip-active-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);font-size:.66rem;font-weight:600}.trip-icon-btn{border:1px solid var(--border);background:var(--surface,#fff);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;height:44px;padding:0;font-size:1.35rem;display:inline-flex}.trip-visibility-btn{justify-content:center;min-width:98px}.trip-visibility-btn[data-visibility=public]{color:#047857;background:#10b98114;border-color:#10b98173}.trip-planner-new-btn{border:1px dashed var(--border);cursor:pointer;width:100%;color:var(--c-accent,#3b82f6);background:0 0;border-radius:10px;margin-bottom:0;padding:10px;font-size:.82rem;font-weight:600}#trip-planner-shared-wrap:not([hidden]),#trip-planner-friends-wrap:not([hidden]){margin-top:12px}.trip-planner-actions{flex-direction:column;gap:8px;margin-top:10px;display:flex}.trip-planner-actions .filter-pill-btn{justify-content:center;width:100%}.trip-planner-actions .filter-pill-btn.active{background:var(--c-accent,#3b82f6);color:#fff;border-color:var(--c-accent,#3b82f6)}.trip-planner-actions .trip-delete-btn{color:#dc2626;border-color:#ef444459}.trip-area-select-box{border:2px dashed var(--c-accent,#3b82f6);pointer-events:none;z-index:12;background:#3b82f61f;border-radius:10px;position:absolute}.trip-area-select-hint{z-index:13;color:#fff;pointer-events:none;white-space:nowrap;background:#0f172ad1;border-radius:20px;margin:0;padding:8px 14px;font-size:.78rem;font-weight:600;position:absolute;top:72px;left:50%;transform:translate(-50%)}@media (width<=768px){.trip-area-select-hint{top:calc(env(safe-area-inset-top,0px) + 110px);white-space:normal;text-align:center;max-width:min(86vw,360px);line-height:1.3}}body.trip-area-select-mode #map-container{cursor:grab}body.trip-pick-mode #map-container{cursor:pointer}.trip-map-confirm-btn{z-index:40;color:#fff;cursor:pointer;background:#111827;border:none;border-radius:999px;padding:10px 18px;font-size:.86rem;font-weight:700;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.trip-map-confirm-btn[hidden],.trip-select{display:none!important}.avatar-emoji-picker{border:1px solid var(--border);background:#3b82f60f;border-radius:12px;padding:10px}.avatar-emoji-picker-title{color:var(--text-2);margin-bottom:8px;font-size:.74rem;font-weight:600}.avatar-emoji-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.avatar-emoji-page-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.avatar-emoji-page-btn:disabled{opacity:.45;cursor:default}.avatar-emoji-page-label{color:var(--text-2);font-size:.74rem;font-weight:600}.avatar-emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.avatar-emoji-btn{border:1px solid var(--border);cursor:pointer;aspect-ratio:1;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:100%;padding:0;font-size:1.05rem;line-height:1;display:flex}.avatar-emoji-btn:hover{border-color:var(--c-accent,#3b82f6)}.profile-friend-color-picker{border:1px solid var(--border);background:#10b9810f;border-radius:12px;padding:10px}.profile-friend-color-title{color:var(--text-2);margin-bottom:8px;font-size:.74rem;font-weight:600}.profile-friend-color-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.profile-friend-color-btn{cursor:pointer;border:2px solid #fff;border-radius:999px;width:24px;height:24px;padding:0;box-shadow:0 1px 4px #0000002e}.profile-friend-color-btn.is-selected{outline-offset:1px;outline:2px solid #111827}.profile-friend-color-btn:disabled{opacity:.25;cursor:not-allowed;filter:grayscale(.4)}.profile-friend-color-help{color:var(--text-2);margin-top:8px;font-size:.72rem}.friend-city-circle-marker{pointer-events:none;align-items:center;gap:4px;width:40px;height:20px;display:flex;position:relative}.friend-city-circle-bubble{background:var(--friend-color,#10b981);pointer-events:none;border:1.5px solid #ffffffe6;border-radius:999px;width:9px;height:9px;box-shadow:0 1px 3px #00000059}.friend-city-circle-avatar{display:none}.friend-city-circle-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.friend-city-circle-avatar-initial{color:#fff;background:var(--friend-color,#10b981);justify-content:center;align-items:center;width:100%;height:100%;font-size:.65rem;font-weight:800;display:flex}.poi-source-badge{text-transform:uppercase;letter-spacing:.04em;color:#6d28d9;background:#8b5cf61f;border-radius:8px;margin-bottom:6px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-block}.poi-source-badge-search{color:#0e7490;background:#06b6d424;align-items:center;gap:4px;display:inline-flex}.poi-source-badge-friend{color:#6d28d9;background:#8b5cf624;align-items:center;gap:4px;display:inline-flex}#poi-other-owner-notes{flex-direction:column;gap:8px;margin-top:10px;display:flex}#poi-other-owner-notes .other-notes-head{text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);align-items:center;gap:6px;font-size:.74rem;font-weight:700;display:flex}#poi-other-owner-notes .other-note-block{border:1px solid var(--border,#0000001a);background:var(--surface-2,#00000005);border-radius:12px;padding:9px 11px}#poi-other-owner-notes .other-note-head{align-items:center;gap:7px;margin-bottom:4px;display:flex}#poi-other-owner-notes .other-note-author{font-size:.82rem;font-weight:600}#poi-other-owner-notes .other-note-replies{color:var(--text-2);margin-left:auto;font-size:.72rem}#poi-other-owner-notes .other-note-body{color:var(--text-1,inherit);white-space:pre-wrap;font-size:.85rem;line-height:1.4}#poi-other-owner-notes .other-notes-loading{color:var(--text-3,#8a8a99);padding:4px 0;font-size:.8rem}#poi-other-owner-notes .other-note-actions{margin-top:6px}#poi-other-owner-notes .other-note-reply-btn{color:var(--text-2,#6a6a78);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:2px 0;font-size:.78rem;display:inline-flex}#poi-other-owner-notes .other-note-reply-btn:hover{color:var(--c-accent,#e63946)}#poi-other-owner-notes .other-note-replies-list{margin-top:6px}#poi-other-owner-notes .other-note-replies-list:empty{display:none}.poi-source-excerpt{color:var(--text-2);border-left:3px solid #8b5cf680;margin:0 0 8px;padding:8px 10px;font-size:.82rem;font-style:italic}.poi-source-link{color:var(--primary);align-items:center;gap:4px;margin-top:6px;font-size:.78rem;font-weight:600;display:inline-flex}.poi-creator-note{background:#8b5cf60f;border:1px solid #8b5cf638;border-radius:10px;margin:6px 0 4px;overflow:hidden}.poi-creator-note>summary{cursor:pointer;color:#6d28d9;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:7px 10px;font-size:.76rem;font-weight:600;list-style:none;display:flex}.poi-creator-note>summary::-webkit-details-marker{display:none}.poi-creator-note>summary:after{content:"›";opacity:.7;margin-left:auto;font-size:1rem;line-height:1;transition:transform .2s;transform:rotate(90deg)}.poi-creator-note[open]>summary:after{transform:rotate(-90deg)}.poi-creator-note>p{color:var(--text-2);margin:0;padding:0 10px 9px;font-size:.82rem;font-style:italic;line-height:1.4}.keep-private-pill{border:1px solid var(--border,#0000001f);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;margin-top:8px;padding:5px 11px;font-size:.76rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.keep-private-pill:hover{border-color:#00000038}.keep-private-pill.is-on{color:#b91c1c;background:#dc26261a;border-color:#dc262659}.friends-list,.pending-friends-list{font-size:.78rem}.friend-list-item{align-items:center;gap:8px;padding:4px 0;display:flex}.friend-list-avatar{object-fit:cover;border-radius:50%;width:24px;height:24px}.friend-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.friend-remove-btn{width:28px;height:28px;color:var(--c-text-muted,#8a8a99);cursor:pointer;opacity:.55;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.friend-remove-btn:hover{opacity:1;color:#e63946;background:#e639461f}.friend-remove-btn:disabled{opacity:.3;cursor:default}.pending-friend-item{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.pending-accept-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;padding:4px 8px;font-size:.72rem}.friend-list-empty{color:var(--text-3);font-size:.75rem}.city-poi-list{flex-direction:column;gap:10px;display:flex}@media (width>=769px){body.city-mode .city-poi-list{padding-top:8px;padding-right:12px;overflow:visible}}#left-panel.expanded{width:622px;max-width:622px}#left-panel.expanded .city-poi-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.expand-btn{float:right;border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:all .2s var(--ease);background:0 0;border-radius:20px;align-items:center;gap:6px;margin-top:-2px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.expand-btn:hover{color:var(--text);background:#f1f5f9}.city-poi-item{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--city-card-bg);gap:12px;padding:12px;transition:all .2s;display:flex;position:relative}.city-poi-item:hover{border-color:var(--c-accent);transform:translate(4px)}.city-poi-item.stay-poi-item.stay-platform-airbnb:hover{border-color:var(--stay-accent,#ff385c)}.city-poi-item.stay-poi-item.stay-platform-booking:hover{border-color:var(--stay-accent,#003580);background:linear-gradient(135deg, var(--stay-accent-soft,#0035801a), var(--city-card-bg))}.city-poi-item.stay-poi-item.stay-platform-booking .stay-list-thumb{border-color:var(--stay-accent,#003580);background:linear-gradient(145deg, var(--stay-accent-soft,#0035801f), #fff)}.city-poi-img{object-fit:cover;border-radius:8px;flex-shrink:0;width:60px;height:60px}.city-poi-img-wrap{flex-shrink:0;width:60px;height:60px;position:relative}.city-poi-img-placeholder{background:linear-gradient(145deg, var(--city-filter-bg), #fff);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;font-size:1.35rem;display:flex;position:absolute;inset:0}.city-poi-img--deferred{display:none}.city-poi-info{flex-direction:column;justify-content:flex-start;padding-bottom:6px;display:flex}.city-poi-title{color:var(--text);margin-bottom:2px;font-size:.85rem;font-weight:600}.city-poi-cat{color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.city-marker-wrapper{cursor:pointer;z-index:10;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.city-marker-icon{filter:drop-shadow(0 4px 6px #0000004d);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:28px;line-height:1;transition:transform .25s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.note-pin-icon{position:relative}.city-marker-wrapper:hover .city-marker-icon,.city-marker-wrapper.active .city-marker-icon{filter:drop-shadow(0 6px 12px #00000073);transform:scale(1.22)translateY(-4px)}#mobile-toggle{z-index:20;background:var(--surface);width:48px;height:48px;box-shadow:var(--shadow-lg);cursor:pointer;border:none;border-radius:50%;font-size:20px;display:none;position:fixed;bottom:24px;left:24px}.mobile-trip-menu-btn,.mobile-auth-header-slot,.mobile-top-actions,.map-settings-fab,.map-settings-label{display:none}@media (width<=768px){html{touch-action:manipulation}input,select,textarea,.hub-input,.add-city-input-subtle,.username-input-field{font-size:16px!important}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate{touch-action:pan-x pan-y pinch-zoom}.mobile-top-actions{display:flex}.mobile-map-settings-slot{flex-shrink:0;align-items:center;display:inline-flex}.mobile-map-settings-slot .map-settings-fab,.city-map-settings-slot .map-settings-fab{display:inline-flex}.mobile-map-settings-slot .map-controls-stack,.city-map-settings-slot .map-controls-stack{align-items:center;display:flex;position:relative;bottom:auto;right:auto}.mobile-map-settings-slot .map-settings-sheet,.city-map-settings-slot .map-settings-sheet{position:absolute;top:calc(100% + 8px);bottom:auto;right:0}body.city-mode .city-map-top-bar{box-sizing:border-box;width:100%;padding-top:env(safe-area-inset-top,0px);padding-left:max(8px, env(safe-area-inset-left,0px));padding-right:max(8px, env(safe-area-inset-right,0px));z-index:32;pointer-events:none;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}body.city-mode .city-map-top-bar>*{pointer-events:auto}body.city-mode .city-map-top-bar .map-controls-stack,body.city-mode .city-map-settings-slot .map-controls-stack{flex-direction:row;align-items:center;gap:8px;position:relative!important;inset:auto!important}body.city-mode .city-map-settings-slot{flex-shrink:0;align-items:center;display:inline-flex}.city-map-action-btn{cursor:pointer;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15rem;display:inline-flex;box-shadow:0 4px 18px #00000029}.city-map-action-btn--pin{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.city-map-action-btn--note{background:#e63946}.city-map-settings-slot .map-settings-fab{display:inline-flex}.mobile-auth-header-slot{display:flex}body{overscroll-behavior:none;background:var(--app-bg-fallback,#dce3ec);width:100vw;height:100vh;overflow:hidden}html[data-theme=day] body:not(.city-mode),html[data-theme=day] body:not(.city-mode) #map-container{background:#b8d4e8}html[data-theme=night] body:not(.city-mode),html[data-theme=night] body:not(.city-mode) #map-container{background:#0c1219}body.city-mode,body.city-mode #map-container{background:var(--surface)}#map-container{width:100%;height:max(100vh, var(--map-h,0px));z-index:1;background:#b8d4e8;min-height:100vh;position:fixed;inset:0 0 auto}#map-container .maplibregl-map,#map-container .maplibregl-canvas-container,#map-container .maplibregl-canvas{width:100%!important;height:100%!important;min-height:100%!important;position:absolute!important;inset:0!important}.maplibregl-ctrl-bottom-right.hide-on-mobile,.hide-on-mobile .maplibregl-ctrl-group{display:none!important}body:not(.city-mode) #left-panel{width:100%;max-width:none;max-height:none;box-shadow:none;pointer-events:none;z-index:20;background:0 0;border-radius:0;gap:0;padding:0;position:fixed;inset:0 0 auto;overflow:visible;transform:none!important}body:not(.city-mode) .app-brand{pointer-events:none;z-index:26;width:100%;padding:max(10px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) 8px max(14px, env(safe-area-inset-left,0px));box-shadow:none;box-sizing:border-box;background:0 0;border:none;flex-flow:row;justify-content:flex-start;align-items:center;gap:12px;margin:0;display:flex;position:fixed;top:0;left:0;right:0}body:not(.city-mode) .brand-lockup,body:not(.city-mode) .mobile-top-actions,body:not(.city-mode) .mobile-top-actions *{pointer-events:auto}body:not(.city-mode) .mobile-top-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}body:not(.city-mode) .mobile-top-actions .trip-header-pill{order:0}.mobile-map-settings-slot{order:1}.mobile-trip-menu-btn{order:2}body:not(.city-mode) .brand-lockup{filter:drop-shadow(0 1px 2px #fffffff2)drop-shadow(0 2px 10px #0003);flex:0 auto;align-items:center;gap:10px;min-width:0}html[data-theme=night] body:not(.city-mode) .brand-lockup{filter:drop-shadow(0 2px 10px #0000008c)}body:not(.city-mode) .brand-icon{width:40px;height:40px}body:not(.city-mode) .brand-wordmark{max-width:140px;height:24px}body:not(.city-mode) .desktop-auth-slot{display:none}.mobile-trip-menu-btn{border:2px solid var(--primary,#ff5a5f);-webkit-backdrop-filter:blur(14px)saturate(160%);color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff5a5ff2,#ff785aeb);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:44px;min-width:44px;height:44px;padding:0;font-size:1.1rem;font-weight:700;transition:transform .2s,filter .2s;display:inline-flex;box-shadow:0 4px 20px #ff5a5f73}.mobile-trip-menu-label{letter-spacing:.02em;text-transform:uppercase;font-size:.68rem;font-weight:700}html[data-theme=night] .mobile-trip-menu-btn{color:var(--text);background:#242a3ae6;border-color:#ffffff1f}.mobile-trip-menu-btn:active{transform:scale(.94)}.mobile-trip-pill-btn{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px)saturate(160%);max-width:42vw;height:44px;color:var(--text);cursor:pointer;background:#ffffffeb;border-radius:22px;flex-shrink:0;order:0;align-items:center;gap:5px;padding:0 14px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 4px 18px #0000001f}.mobile-trip-pill-btn[hidden]{display:none!important}.mobile-trip-pill-btn i{color:var(--c-accent,#3b82f6);flex-shrink:0;font-size:1rem}.mobile-trip-pill-btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-trip-pill-btn.trip-header-pill--active{border-color:color-mix(in srgb, var(--c-accent,#3b82f6) 50%, var(--border));background:color-mix(in srgb, var(--c-accent,#3b82f6) 12%, #ffffffeb)}html[data-theme=night] .mobile-trip-pill-btn{background:#242a3aeb;border-color:#ffffff1f}.mobile-auth-header-slot .login-trigger-btn span{display:none}.mobile-auth-header-slot .login-trigger-btn{background:0 0;border:none;min-width:0;padding:0}body.trip-sheet-open .mobile-trip-menu-btn{background:var(--text);color:var(--surface);border-color:var(--text)}.mobile-globe-trip-strip{display:none}.mobile-trip-strip-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:0;color:var(--text);border-radius:12px;flex:auto;justify-content:center;align-items:center;gap:4px;padding:8px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.mobile-trip-strip-btn.active{border-color:var(--primary,#ff5a5f);background:color-mix(in srgb, var(--primary,#ff5a5f) 12%, var(--surface));color:var(--primary,#ff5a5f)}.mobile-trip-strip-btn--accent{background:var(--primary,#ff5a5f);color:#fff;border-color:#0000;flex:none}#mobile-trip-new-btn{display:none!important}#mobile-trip-manage-btn{flex:auto}.mobile-trip-chevron{opacity:.65;margin-left:1px;font-size:.9em}body:not(.city-mode) .globe-trip-body{pointer-events:auto;padding:12px 14px max(16px, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(20px)saturate(160%);width:calc(100% - 20px);max-height:min(78vh, calc(var(--app-full-h,100dvh) - max(10px, env(safe-area-inset-top,0px)) - 60px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fffffff7;border:1px solid #00000012;border-radius:18px;flex-direction:column;gap:12px;margin:4px 10px 0;display:none;overflow:hidden auto;box-shadow:0 14px 40px #00000029}html[data-theme=night] body:not(.city-mode) .globe-trip-body{background:#242a3af7;border-color:#ffffff1a}body:not(.city-mode).trip-sheet-open .globe-trip-body{top:calc(max(10px, env(safe-area-inset-top,0px)) + 52px);z-index:24;transform-origin:top;width:auto;margin:0;animation:.26s cubic-bezier(.22,.61,.36,1) menuDropIn;display:flex;position:fixed;left:12px;right:12px}@keyframes menuDropIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.header-profile-row{display:none}body:not(.city-mode) .mobile-top-actions .trip-header-pill{border-radius:22px;align-items:center;gap:5px;max-width:40vw;height:44px;padding:0 12px;overflow:hidden;display:inline-flex!important}body:not(.city-mode) .mobile-top-actions .trip-header-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-auth-header-slot{flex-shrink:0;align-items:center;display:flex}.mobile-auth-header-slot:empty{display:none}.mobile-auth-header-slot .login-trigger-btn{-webkit-backdrop-filter:blur(14px);background:#ffffffe6;border:1px solid #ffffffa6;border-radius:50%;justify-content:center;gap:0;width:44px;min-width:44px;height:44px;padding:0 10px;font-size:0;box-shadow:0 4px 18px #00000024}.mobile-auth-header-slot .login-trigger-btn i{margin:0;font-size:1.25rem}.mobile-auth-header-slot .login-trigger-btn.logged-in-profile{border-radius:50%;justify-content:center;align-items:center;gap:0;width:44px;min-width:44px;max-width:44px;height:44px;padding:0;font-size:0}.mobile-auth-header-slot .login-trigger-btn.logged-in-profile span{display:none}.mobile-auth-header-slot .login-trigger-btn.logged-in-profile .avatar-ring-container,.mobile-auth-header-slot .login-trigger-btn.logged-in-profile .avatar-ring-container img{width:34px;height:34px}.mobile-auth-header-slot .login-trigger-btn.logged-in-profile i{font-size:1rem}.mobile-auth-header-slot .avatar-ring-container,.mobile-auth-header-slot .avatar-ring-container img{width:30px;height:30px}html[data-theme=night] .mobile-auth-header-slot .login-trigger-btn{background:#242a3aeb;border-color:#ffffff1f}body:not(.city-mode) #left-panel>.globe-trip-body>.ctrl-section,body:not(.city-mode) #left-panel>.globe-trip-body>.from-to-group{background:var(--panel-muted-bg);border:1px solid var(--border);border-radius:14px;padding:10px 12px}body:not(.city-mode) .from-to-group #hub-section,body:not(.city-mode) .from-to-group #dest-section{background:0 0;border:none;padding-left:0;padding-right:0}body:not(.city-mode) .from-to-group #hub-section{border-bottom:1px dashed var(--border)}body:not(.city-mode) .globe-add-city-row{border-top:none;margin-top:0;padding-top:0}body.dest-detail-open:not(.city-mode) .globe-trip-body{display:none!important}body:not(.city-mode) .ctrl-label{font-size:.6rem}body:not(.city-mode) .hub-input{padding:8px 10px;font-size:.8rem}body:not(.city-mode) input[type=date]{padding:6px 4px;font-size:.74rem}body:not(.city-mode) .globe-add-city-row{border-top:none;margin-top:0;padding-top:6px;display:flex!important}#filter-section{margin-top:0;display:flex}body.city-mode .globe-trip-body{display:none!important}body.city-mode #left-panel{z-index:28;pointer-events:auto;background:var(--surface);overscroll-behavior:none;-webkit-overflow-scrolling:touch;width:100%;max-height:min(60vh,520px);transition:max-height .4s var(--ease), transform .36s cubic-bezier(.22, .61, .36, 1);border-radius:22px 22px 0 0;gap:0;padding:0;position:fixed;inset:auto 0 0;overflow:hidden;transform:translateY(100%);box-shadow:0 -10px 40px #00000024}body.city-mode.city-sheet-in #left-panel{transform:translateY(0)}body.city-mode:not(.city-sheet-collapsed) #left-panel{padding-bottom:0}body.city-mode.city-sheet-collapsed #left-panel{height:auto;max-height:none;padding-bottom:0}body.city-mode.city-sheet-collapsed #city-overview-panel{padding:15px 14px calc(13px + env(safe-area-inset-bottom,0px));overscroll-behavior:none;background:var(--surface);flex-flow:row;flex:none;align-content:center;align-items:center;gap:0 8px;position:relative;display:flex!important}body.city-mode.city-sheet-collapsed .city-sheet-grab{flex:none;width:100%;margin:0;padding:0;position:absolute;top:6px;left:0;right:0}body.city-mode.city-sheet-collapsed .city-sheet-header{cursor:pointer;flex:auto;align-items:center;min-width:0;border-bottom:none!important;margin:0!important;padding:0!important;display:flex!important}body.city-mode.city-sheet-collapsed .city-sheet-pills-row{flex:none;align-items:center;overflow:visible;border-bottom:none!important;margin:0!important;padding:0!important;display:flex!important}body.city-mode.city-sheet-collapsed .city-sheet-actions,body.city-mode.city-sheet-collapsed .city-category-filter-wrap,body.city-mode.city-sheet-collapsed #toggle-edit-mode-btn,body.city-mode.city-sheet-collapsed .add-pin-container,body.city-mode.city-sheet-collapsed .city-filters-row,body.city-mode.city-sheet-collapsed #city-poi-list,body.city-mode.city-sheet-collapsed #add-point-slot,body.city-mode.city-sheet-collapsed #city-hotel-slot,body.city-mode.city-sheet-collapsed .city-note-alerts,body.city-mode.city-sheet-collapsed .friends-activity-feed,body.city-mode.city-sheet-collapsed .city-sheet-collapsed-label{display:none!important}body.city-mode.city-sheet-collapsed #city-overview-title{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:0;line-height:1.15;margin:0!important}body.city-mode.city-sheet-collapsed #city-overview-title>span:first-child{white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;overflow:hidden}body.city-mode.city-sheet-collapsed .city-districts-legend--inline{flex-wrap:nowrap}body.city-mode #city-overview-panel{overscroll-behavior:none;background:var(--surface);overflow-x:hidden}body.city-mode #city-poi-list{overscroll-behavior:contain;background:var(--surface);overflow-x:hidden}body.city-mode.city-poi-detail-open #left-panel{opacity:.96;pointer-events:none}body.city-mode.city-poi-detail-open #right-panel{z-index:35;height:auto;max-height:min(58vh,520px)}body.city-mode.city-poi-detail-open #panel-content{padding:0 14px max(18px, env(safe-area-inset-bottom,0px));gap:10px}body.city-mode.city-poi-detail-open #right-panel .dest-image{height:130px}body.city-mode.city-poi-detail-open .map-controls-stack{bottom:max(calc(min(58vh, 520px) + 10px), calc(env(safe-area-inset-bottom,0px) + 10px))}body.city-mode #left-panel:before{display:none}.city-sheet-grab{cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:10px 0 6px;display:flex}.city-sheet-header,#city-sheet-collapsed-label,#city-overview-title{-webkit-tap-highlight-color:transparent}.city-sheet-grab-pill{background:var(--border);border-radius:999px;width:44px;height:5px;transition:width .25s,background .25s;display:block}body.city-mode #city-overview-panel{flex-direction:column;flex:1;min-height:0;padding:0 14px;display:flex!important}body.city-mode .city-sheet-header{border-bottom:1px solid var(--border);flex-shrink:0;margin-bottom:8px;padding:4px 0 6px}body.city-mode #city-overview-title{justify-content:space-between;align-items:center;gap:8px;margin:0;font-size:.95rem;display:flex}body.city-mode .city-sheet-actions{align-items:center;gap:6px;display:flex}body.city-mode .city-sheet-pills-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--border);z-index:50;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:6px;margin-bottom:6px;padding:2px 0 8px;display:flex;position:relative;overflow:auto visible}body.city-mode .city-sheet-pills-row::-webkit-scrollbar{display:none}body.city-mode .city-districts-legend--inline{flex-wrap:nowrap;flex-shrink:0;gap:6px;margin:0;display:flex}body.city-mode .city-districts-legend--inline .district-toggle-btn{white-space:nowrap;padding:6px 10px;font-size:.66rem}body.city-mode .city-category-filter-wrap{flex-shrink:0;margin-left:auto;position:relative}body.city-mode .city-category-filter-btn{border:1px solid var(--border);background:var(--city-filter-bg);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:.66rem;font-weight:600;display:inline-flex}body.city-mode .city-category-filter-menu{background:var(--surface);border:1px solid var(--border);min-width:120px;box-shadow:var(--shadow-lg);z-index:60;border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0}body.city-mode .city-category-filter-menu.is-fixed{z-index:200;position:fixed}body.city-mode .city-category-filter-menu[hidden]{display:none!important}body.city-mode .city-category-opt{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:.78rem}body.city-mode .city-category-opt.active{background:color-mix(in srgb, var(--primary,#ff5a5f) 14%, transparent);color:var(--primary,#ff5a5f);font-weight:600}body.city-mode .city-filters-row .city-filters--desktop{display:flex!important}body.city-mode .city-sheet-toolbar,body.city-mode .add-pin-container{display:none!important}body.city-mode .city-filter-btn{padding:7px 2px;font-size:.66rem}body.city-mode .city-districts-legend{flex-wrap:wrap;gap:6px;margin:0;overflow:visible}body.city-mode .city-poi-list{overscroll-behavior-x:none;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;min-height:100px;padding-top:6px;padding-left:0;padding-right:0;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:1;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;display:grid;position:relative;overflow:hidden auto}body.city-mode .city-poi-list>.city-poi-item,body.city-mode .city-poi-list>.add-point-row-host{min-width:0}body.city-mode .city-poi-list>div:not(.city-poi-item){grid-column:1/-1}body.city-mode #add-point-slot{display:none!important}body.city-mode .city-poi-item{box-sizing:border-box;flex-direction:row;align-items:center;gap:8px;min-height:68px;padding:8px;overflow:visible}body.city-mode .city-poi-item .city-poi-img-wrap,body.city-mode .city-poi-item .city-poi-img,body.city-mode .city-poi-item .city-poi-img-placeholder{object-fit:cover;border-radius:10px;flex-shrink:0;width:52px;min-width:52px;height:52px;min-height:52px}body.city-mode .city-poi-item .city-poi-img-wrap{justify-content:center;align-self:center;align-items:center;display:flex;overflow:hidden}body.city-mode .city-poi-item .city-poi-img-wrap .city-poi-img,body.city-mode .city-poi-item .city-poi-img-wrap .city-poi-img-placeholder{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}body.city-mode .city-poi-item .note-poi-icon-wrap{flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:52px;height:52px;min-height:52px;display:flex}body.city-mode .city-poi-item .note-poi-icon{width:40px;height:40px;font-size:1rem}body.city-mode .city-poi-item .city-poi-info{flex:1;justify-content:center;min-width:0;padding-top:0;padding-bottom:0}body.city-mode .city-poi-item .city-poi-cat{margin-bottom:2px;font-size:.62rem;line-height:1.2}body.city-mode .city-poi-item .city-poi-title{-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;-webkit-box-orient:vertical;max-height:2.5em;font-size:.72rem;line-height:1.25;display:-webkit-box;overflow:hidden}body.city-mode .city-poi-item .poi-maps-btn-wrap,body.city-mode .city-poi-item .poi-maps-btn{flex-shrink:0;align-self:center}body.city-mode .city-poi-item.add-point-row{border-style:dashed}body.city-mode .city-poi-item.add-point-row .add-point-thumb{width:52px;min-width:52px;height:52px}body.city-mode .city-poi-list::-webkit-scrollbar{display:none}body.city-mode .city-poi-item:hover{transform:none}body.city-mode #expand-btn{display:none!important}#left-panel.expanded{width:100%;max-width:none}#left-panel.expanded .city-poi-list{flex-direction:column;display:flex}#right-panel{width:100%;max-width:100vw;height:min(70vh,600px);max-height:calc(var(--app-full-h,100dvh) - env(safe-area-inset-top,0px) - 56px);z-index:30;border-radius:24px 24px 0 0;flex-direction:column;padding:0;animation:none;display:flex;position:fixed;inset:auto 0 0;overflow:hidden;transform:translateY(110%)}#right-panel.active{opacity:1;transform:translateY(0)}#right-panel #close-panel{z-index:25;box-shadow:var(--shadow-sm);background:#ffffffeb;position:absolute;inset:10px 12px auto auto;transform:none}body.city-mode.city-poi-detail-open #right-panel #close-panel,body.dest-detail-open #right-panel #close-panel{top:10px;right:12px}html[data-theme=night] #right-panel #close-panel{background:#242a3aeb}#panel-content{overscroll-behavior-x:none;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:1;gap:14px;max-width:100%;min-height:0;padding:0 16px 8px;overflow:visible auto}body.dest-detail-open #panel-content{background:var(--surface);overscroll-behavior-y:none;padding-bottom:max(18px, env(safe-area-inset-bottom,0px))}#right-panel .dest-image{object-fit:cover;background:var(--surface);border-radius:24px 24px 0 0;width:calc(100% + 32px);max-width:none;height:160px;margin:0 -16px;display:block}#right-panel #d-name{font-size:1.3rem}body.dest-detail-open:not(.city-mode) #panel-content .facts-grid,body.dest-detail-open:not(.city-mode) #action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}body.dest-detail-open:not(.city-mode) #link-flights,body.dest-detail-open:not(.city-mode) #link-maps,body.dest-detail-open:not(.city-mode) #btn-godeeper{grid-column:1/-1}body.dest-detail-open:not(.city-mode) #link-tiktok{display:none!important}.weather-grid{gap:4px}.weather-day{min-width:0;font-size:.68rem}.hl-item:hover{transform:none}#mobile-toggle{display:none}.back-to-globe{top:max(10px, env(safe-area-inset-top,0px));left:max(12px, env(safe-area-inset-left,0px));z-index:31;z-index:22;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);background:#fffffff0;border-width:1.5px;padding:8px 12px;font-size:.78rem;right:auto;transform:none}html[data-theme=night] .back-to-globe{background:#242a3af0}.map-controls-stack{bottom:max(14px, env(safe-area-inset-bottom,0px));right:max(12px, env(safe-area-inset-right,0px));gap:0}body.city-mode #map-container>.map-controls-stack{bottom:max(calc(min(60vh, 520px) + 10px), calc(env(safe-area-inset-bottom,0px) + 10px));transition:bottom .4s var(--ease)}body.city-mode.city-sheet-collapsed #map-container>.map-controls-stack{bottom:max(calc(min(118px, 16vh) + 10px), calc(env(safe-area-inset-bottom,0px) + 10px))}.map-settings-fab{border:1px solid var(--map-control-border);background:var(--map-control-bg);-webkit-backdrop-filter:blur(12px)saturate(180%);width:48px;height:48px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.2rem;display:inline-flex}.map-settings-sheet{background:var(--surface);border:1px solid var(--border);min-width:220px;max-width:min(280px,100vw - 32px);box-shadow:var(--shadow-lg);z-index:25;border-radius:16px;flex-direction:column;gap:12px;padding:14px;position:absolute;bottom:calc(100% + 10px);right:0}.map-settings-sheet[hidden]{display:none!important}.map-settings-sheet:not([hidden]){display:flex}.map-settings-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:0 0 2px;font-size:.62rem;font-weight:700;display:block}.map-settings-sheet .theme-mode-selector,.map-settings-sheet .map-style-selector{border:1px solid var(--city-filter-border);background:var(--city-filter-bg);width:100%;box-shadow:none;border-radius:999px;align-items:center;gap:2px;height:auto;min-height:0;max-height:none;padding:2px;display:inline-flex}.map-settings-sheet .map-style-selector{border-radius:16px;flex-direction:column}.map-settings-sheet .theme-mode-btn,.map-settings-sheet .map-style-btn{box-sizing:border-box;white-space:nowrap;background:0 0;border:none;border-radius:999px;flex:1;justify-content:center;width:auto;min-width:0;height:40px;min-height:40px;max-height:40px;padding:0 10px;font-size:.72rem}.map-settings-sheet .map-style-btn{width:100%}.map-settings-sheet .map-settings-extra.country-fill-toggle{border-radius:12px;justify-content:center;width:100%;margin-top:2px}.map-settings-sheet .map-overlay-controls{flex-flow:row;align-self:stretch;align-items:stretch;gap:6px;width:100%;margin-top:8px}.map-settings-sheet .map-transit-standalone-btn{box-sizing:border-box;border-radius:10px;flex:auto;justify-content:center;gap:6px;width:auto;min-width:0;height:44px;min-height:44px;max-height:44px;padding:0 12px}.map-settings-sheet .map-transit-standalone-label{font-family:Inter,sans-serif;font-size:.76rem;font-weight:600;display:inline}.map-settings-sheet .my-location-btn{border-radius:50%;flex:none;align-self:center;width:44px;height:44px;margin-top:0;padding:0}.login-trigger-btn{white-space:nowrap;padding:6px 11px;font-size:.72rem}.user-profile-widget{flex-shrink:0}.auth-modal{align-items:flex-end;padding:0}.auth-modal-content{width:100%;max-width:none;max-height:min(92dvh,720px);padding:20px 16px max(20px, env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border-radius:22px 22px 0 0;overflow-y:auto}.profile-inline-identity-row{align-items:center;gap:6px;width:100%;margin-top:6px;display:flex}.profile-inline-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.profile-inline-emoji{font-size:1.2rem;line-height:1}.profile-inline-color-swatch{border:2px solid #ffffffe6;border-radius:50%;width:22px;height:22px;display:block;box-shadow:0 0 0 1px #0000001f}.profile-inline-username{flex:1;min-width:0;border-radius:10px!important;height:36px!important;padding:0 10px!important}.profile-inline-save{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}#logged-in-panel .avatar-emoji-picker--desktop,#logged-in-panel>.profile-friend-color-picker{display:none!important}#logged-in-panel .user-info-box{margin-bottom:8px!important;padding:12px!important}#avatar-upload-trigger{width:48px!important;height:48px!important}.profile-picker-overlay{z-index:1100;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.profile-picker-overlay[hidden]{display:none!important}.profile-picker-backdrop{background:#0f172a73;position:absolute;inset:0}.profile-picker-panel{background:var(--surface);width:100%;max-height:70dvh;padding:16px 16px max(16px, env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);border-radius:20px 20px 0 0;position:relative;overflow-y:auto}.profile-picker-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.profile-picker-header h4{margin:0;font-size:1rem}.profile-picker-close{background:var(--city-filter-bg);cursor:pointer;border:none;border-radius:50%;width:32px;height:32px}.pin-add-modal .pin-add-modal-body .add-pin-form{flex-direction:column;gap:10px;display:flex!important}.pin-add-modal .pin-add-modal-body .add-pin-actions{display:none}}.city-sheet-collapsed-label{display:none}@media (width>=769px){.mobile-globe-trip-strip,.city-map-top-bar,.profile-picker-overlay,.city-sheet-collapsed-label{display:none!important}.city-filters--desktop{display:flex}body.city-mode .city-sheet-pills-row{border-bottom:1px solid var(--border);flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:8px;display:flex}body.city-mode .city-sheet-pills-row .city-category-filter-wrap{display:none}body.city-mode .city-poi-item:not(.add-point-row){box-sizing:border-box;align-items:center;min-height:86px;max-height:86px;overflow:visible}body.city-mode .city-poi-item>.poi-discussion-badges{z-index:25;pointer-events:none;top:4px;right:4px}body.city-mode .city-poi-item .city-poi-info{justify-content:center;min-width:0;padding-bottom:0;overflow:hidden}body.city-mode .city-poi-item .city-poi-title{white-space:nowrap;text-overflow:ellipsis;margin-bottom:0;overflow:hidden}body.city-mode #add-point-slot{display:none!important}.map-controls-stack{flex-direction:row;align-items:flex-end;gap:8px}.map-settings-fab{display:none!important}.map-settings-sheet{min-width:0;box-shadow:none;background:0 0;border:none;flex-flow:row;align-items:flex-end;gap:8px;padding:0;position:static;display:flex!important}.map-settings-sheet[hidden]{display:flex!important}.map-settings-sheet .map-settings-label{display:none}.map-settings-sheet .theme-mode-selector,.map-settings-sheet .map-style-selector{align-self:flex-end;align-items:center;height:auto;min-height:44px;max-height:none;padding:2px;overflow:hidden}.map-settings-sheet .theme-mode-selector{border-radius:999px;flex-direction:row}.map-settings-sheet .map-style-selector{border-radius:999px;flex-direction:column;width:auto;min-width:0}.map-settings-sheet .theme-mode-btn,.map-settings-sheet .map-style-btn{border-radius:999px}.map-settings-sheet .map-style-btn{justify-content:center;gap:0;width:44px;height:44px;min-height:44px;max-height:44px;padding:0}.map-settings-sheet .map-style-btn .map-style-btn-text{display:none}.map-settings-sheet .map-style-btn i{font-size:1.15rem}.map-settings-sheet .map-overlay-controls{flex-direction:column;justify-content:flex-end;align-self:flex-end;margin-top:0}.map-settings-sheet .map-transit-standalone-btn{border-radius:50%;width:44px;height:44px;min-height:44px;max-height:44px;padding:0}.map-settings-sheet .map-transit-standalone-label{display:none}}.app-brand{justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.desktop-auth-slot{flex-shrink:0;margin-left:auto}@media (width>=769px){.mobile-trip-menu-btn,.mobile-top-actions,.mobile-auth-header-slot{display:none!important}.desktop-auth-slot{justify-content:center;align-items:center;width:auto;margin-left:0;display:flex}.app-brand{flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;width:100%}.header-profile-row{flex-direction:row;justify-content:center;gap:8px}.brand-lockup{justify-content:center;width:100%}.user-profile-widget{justify-content:center;width:auto;display:flex}body:not(.city-mode) .app-brand{padding:0;position:static}}#city-overview-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:1.1rem;display:flex}.city-sheet-actions{align-items:center;gap:6px;display:flex}.brand-details{flex-direction:column;display:flex}@media (width<=768px){.brand-icon{width:28px;height:28px}.brand-wordmark{max-width:118px;height:18px}}.login-trigger-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;transition:all .2s var(--ease);background:#0000000d;border-radius:18px;align-items:center;gap:6px;padding:6px 12px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;display:flex}.login-trigger-btn:hover{background:var(--text);color:#fff;border-color:var(--text);transform:translateY(-1px)}.login-trigger-btn.logged-in-profile{color:#065f46;min-height:34px;transition:all .25s var(--ease);background:#10b98114;border:1px solid #10b98140;border-radius:20px;padding:4px 10px}.login-trigger-btn.logged-in-profile:hover{background:#10b98129;border-color:#10b98166;transform:translateY(-1px)}.login-trigger-btn.logged-in-profile img{object-fit:cover;border-radius:50%;width:20px;height:20px}.avatar-ring-container{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative;overflow:hidden}.header-profile-row .login-trigger-btn.logged-in-profile{border-radius:22px;min-height:0;padding:3px 12px 3px 8px}.header-profile-row .login-trigger-btn.logged-in-profile .avatar-ring-container{width:22px;height:22px}.header-profile-row .login-trigger-btn.logged-in-profile .status-indicator-dot{width:6px;height:6px}.avatar-ring-container img,.logged-in-profile .avatar-ring-container img,img.avatar-emoji-img,#user-avatar.avatar-emoji-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}img.avatar-emoji-img,#user-avatar.avatar-emoji-img{object-fit:contain;padding:2px}.status-indicator-dot{background:#10b981;border:1.5px solid #eef2f6;border-radius:50%;width:7.5px;height:7.5px;animation:2s infinite pulse-green;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 4px #10b98199}@keyframes pulse-green{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 4px #10b98100}to{box-shadow:0 0 #10b98100}}.auth-modal{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;visibility:hidden;width:100vw;height:100vh;transition:all .3s var(--ease);background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.auth-modal.active{opacity:1;visibility:visible}.auth-modal-content{background:var(--surface);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);width:90%;max-width:468px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:24px;padding:32px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden auto;transform:translateY(20px)}.auth-modal.active .auth-modal-content{transform:translateY(0)}.auth-modal-content{scrollbar-width:none;-ms-overflow-style:none}.auth-modal-content::-webkit-scrollbar{width:0;height:0;display:none}@media (width>=769px){#logged-in-panel #profile-inline-emoji-btn,#logged-in-panel #profile-inline-color-btn{display:none!important}#logged-in-panel .profile-inline-identity-row{align-items:center;gap:8px;margin-top:8px;display:flex}#logged-in-panel .profile-inline-username{flex:1;min-width:0}#logged-in-panel .profile-inline-save{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}#logged-in-panel #avatar-emoji-picker,#logged-in-panel #profile-friend-color-picker{margin-top:12px}}.close-auth-modal{float:right;background:var(--surface);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text-2);z-index:30;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;margin:-12px -12px 0 0;transition:all .2s;display:flex;position:sticky;top:4px}.close-auth-modal:hover{background:var(--text);color:#fff}.auth-modal-content h3{color:var(--text);justify-content:center;align-items:center;gap:8px;margin-bottom:12px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.35rem;display:flex}.auth-desc{color:var(--text-2);margin-bottom:24px;font-size:.88rem;line-height:1.5}.config-warn{color:#b45309;background:#fffbeb;border:1px solid #fef3c7;border-radius:12px;gap:8px;margin-bottom:18px;padding:12px 14px;font-size:.78rem;line-height:1.4;display:flex}.config-warn i{flex-shrink:0;font-size:1.1rem}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);font-size:.72rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);width:100%;color:var(--text);padding:10px 14px;font-family:Inter,sans-serif;font-size:.88rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--text);outline:none;box-shadow:0 0 0 2px #0000000d}.form-group-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.auth-btn{border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:all .2s var(--ease);border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;display:flex}.auth-btn:hover{transform:translateY(-1px)}.google-btn{color:#1e293b;background:#fff;border:1px solid #cbd5e1;box-shadow:0 1px 3px #0000000d}.google-btn:hover{background:#f8fafc;box-shadow:0 4px 6px -1px #0000001a}.google-btn i{color:#4285f4;font-size:1.1rem}.magic-btn{color:#fff!important;background:#8b5cf6!important}.magic-btn:hover{background:#7c3aed!important}.config-btn{color:#fff;background:#2563eb}.config-btn:hover{background:#1d4ed8}.logout-btn{color:#fff;background:#ef4444;margin-top:16px}.logout-btn:hover{background:#dc2626}.reset-btn{color:var(--text-2);border:1px dashed var(--border);background:0 0;margin-top:10px;padding:6px;font-size:.78rem}.reset-btn:hover{color:#ef4444;background:#fef2f2;border-color:#fca5a5}.auth-or{text-align:center;color:var(--text-2);margin:16px 0;font-size:.75rem;position:relative}.auth-or:before,.auth-or:after{content:"";background:var(--border);width:40%;height:1px;position:absolute;top:50%}.auth-or:before{left:0}.auth-or:after{right:0}.local-notice{color:var(--text-2);text-align:center;font-size:.78rem;line-height:1.4}.sync-status-indicator{justify-content:center;margin-bottom:16px;display:flex}.sync-badge{color:#059669;background:#10b9811a;border:1px solid #10b98133;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #10b9810d}.sync-stats-box{color:#64748b;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;font-size:.8rem;font-weight:500;display:flex}.sync-stats-box i{color:#8b5cf6;font-size:1rem}.user-info-box{background:var(--panel-muted-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:16px;margin-bottom:12px;padding:18px;display:flex}.modal-avatar-container .user-avatar{object-fit:cover;background:var(--city-filter-bg);border:2px solid var(--surface);box-sizing:border-box;pointer-events:none;border-radius:50%;width:100%;height:100%;display:block}.telegram-connect-section{border:1px solid var(--border);background:var(--city-filter-bg);text-align:left;border-radius:12px;margin-bottom:14px;padding:14px}.telegram-connect-section h4,.telegram-connect-section .telegram-title{color:var(--text);align-items:center;gap:6px;margin-bottom:4px;font-size:.88rem;font-weight:700;display:flex}.telegram-code{letter-spacing:.12em;background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 12px;font-size:1.1rem;font-weight:700}html[data-theme=night] .config-warn{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b59}html[data-theme=night] .google-btn{background:var(--input-bg);color:var(--text);border-color:var(--border)}#logged-in-panel .user-info-box{border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:16px;margin-bottom:12px;padding:18px;background:var(--panel-muted-bg)!important;display:flex!important}.modal-avatar-container{width:64px;height:64px;box-shadow:var(--shadow-md);cursor:pointer;background:linear-gradient(135deg,#3b82f6,#10b981);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex;position:relative}.modal-avatar-container .status-indicator-dot{border:2px solid var(--surface);pointer-events:none;background:#10b981;border-radius:50%;width:12px;height:12px;animation:2s infinite pulse-green;position:absolute;bottom:1px;right:1px;box-shadow:0 0 6px #10b98199}.modal-avatar-container .avatar-hover-label{color:#fff;opacity:0;pointer-events:none;background:#00000073;border-radius:50%;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;transition:opacity .2s;display:flex;position:absolute;inset:0}.profile-user-details,#logged-in-panel .user-details{flex:1;min-width:0}#logged-in-panel .user-display-name{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:1rem;font-weight:700;overflow:hidden;color:var(--text)!important}#logged-in-panel .user-email{white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:.78rem;overflow:hidden;color:var(--text-2)!important}.username-edit-row{align-items:center;gap:6px;width:100%;margin-top:4px;display:flex}.save-username-btn,#save-username-btn{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.85rem;transition:background .2s;display:flex}#telegram-connect-section{background:var(--city-filter-bg)!important}#telegram-link-code{background:var(--input-bg)!important;color:var(--text)!important;border:1px solid var(--border)!important}.telegram-connect-btn,#telegram-connect-btn{width:100%;margin-bottom:8px;color:#fff!important;background:#229ed9!important;border:none!important}.telegram-desc,#telegram-connect-section p{color:var(--text-2);margin:0 0 10px;font-size:.78rem;line-height:1.4}#telegram-connect-section a{color:#60a5fa}.user-avatar{object-fit:cover;width:48px;height:48px;box-shadow:var(--shadow-sm);border:2px solid #fff;border-radius:50%}.user-details{flex-direction:column;display:flex}.user-display-name{color:var(--text);font-size:.95rem;font-weight:700}.user-email{color:var(--text-2);font-size:.78rem}.add-pin-container{box-shadow:none;background:0 0;border:none;border-radius:0;margin-bottom:12px;padding:0}.add-pin-actions{align-items:stretch;gap:8px;display:flex}.toggle-add-pin-btn{color:#fff;cursor:pointer;transition:all .2s var(--ease);background:linear-gradient(135deg,#7c3aed,#a78bfa);border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:700;display:flex}.toggle-add-pin-btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px #7c3aed4d}.add-pin-form{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:6px;padding:8px 4px 4px;display:flex}.add-pin-form .form-group-row{gap:8px;margin-bottom:0;display:flex}html[data-theme=night] .toggle-add-pin-btn:hover{background:linear-gradient(135deg,#7c3aed,#a78bfa)}.add-pin-form input[type=text],.add-pin-form select,.add-pin-form textarea{border:1px solid var(--border);background:var(--input-bg);color:var(--text);border-radius:8px;padding:8px 12px;font-size:.8rem}#pin-input{flex:1;min-height:72px}.pin-parse-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a78bfa);border:none;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:8px 12px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #7c3aed33}#pin-parse-btn{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#a78bfa)!important}.pin-parse-btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px #7c3aed4d}.pin-parse-btn:disabled{box-shadow:none;cursor:not-allowed;background:#94a3b8}.toggle-manual-btn{width:max-content;color:var(--text-2);cursor:pointer;transition:all .2s var(--ease);text-transform:none;letter-spacing:.02em;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;margin:4px auto 0;padding:4px 8px;font-family:Inter,sans-serif;font-size:.68rem;font-weight:600;display:flex}.toggle-manual-btn:hover,.toggle-manual-btn.open{color:#7c3aed;opacity:1}#manual-chevron{transition:transform .25s var(--ease)}.toggle-manual-btn.open #manual-chevron{transform:rotate(180deg)}.manual-fields{animation:slideDown .2s var(--ease);flex-direction:column;gap:10px;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.form-group-stacked{flex-direction:column;gap:6px;margin-bottom:0;display:flex}.form-group-stacked input[type=text]{width:100%}.pin-parse-btn.full-width{justify-content:center;width:100%;padding:10px;font-size:.8rem}.pin-autofill-btn{color:#7c3aed;cursor:pointer;background:#faf5ff;border:1px solid #7c3aed26;border-radius:8px;justify-content:center;align-items:center;gap:4px;width:100%;padding:10px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;transition:all .2s;display:flex}.pin-autofill-btn:hover{background:#f3e8ff;border-color:#7c3aed4d;transform:translateY(-1px)}.pin-autofill-btn:disabled{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0;transform:none}.map-controls-stack{bottom:max(16px, env(safe-area-inset-bottom,0px));right:max(16px, env(safe-area-inset-right,0px));z-index:20;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}.map-settings-sheet .my-location-btn{display:flex!important}.map-compass-btn{border:1px solid var(--map-control-border);background:var(--map-control-bg);-webkit-backdrop-filter:blur(12px)saturate(180%);cursor:pointer;width:44px;height:44px;transition:opacity .25s var(--ease), transform .2s var(--ease);-webkit-tap-highlight-color:transparent;border-radius:50%;outline:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none;box-shadow:0 10px 25px -5px #0000001f}.map-compass-btn.is-visible{display:flex}.map-compass-btn:hover{background:var(--surface);transform:translateY(-1px)}.map-compass-svg{width:24px;height:24px;display:block;overflow:visible}.map-compass-needle{transform-origin:12px 12px}.map-compass-n{fill:#e63946}.map-compass-s{fill:#94a3b8}.map-overlay-controls{flex-direction:column;align-self:flex-end;align-items:center;gap:8px;margin-top:6px;display:flex}.map-transit-standalone-btn{border:1px solid var(--map-control-border);background:var(--map-control-bg);-webkit-backdrop-filter:blur(12px)saturate(180%);color:#475569;cursor:pointer;width:44px;height:44px;transition:all .2s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 10px 25px -5px #0000001f}.map-transit-standalone-btn:hover{color:var(--text);background:var(--surface);transform:translateY(-1px)}.map-transit-standalone-btn[data-active=true]{background:var(--transit-btn-active-bg);color:var(--transit-btn-active-fg);border-color:var(--transit-btn-active-border);box-shadow:0 0 0 4px #457b9d38}.map-district-fab[data-active=true]{background:var(--district-btn-active-bg);color:var(--district-btn-active-fg);border-color:var(--district-btn-active-border);box-shadow:0 0 0 4px #1e293b2e}.map-transit-standalone-btn i{font-size:1.2rem}.map-transit-standalone-label{display:none}.my-location-btn{border:1px solid var(--map-control-border);background:var(--map-control-bg);-webkit-backdrop-filter:blur(12px)saturate(180%);color:#475569;cursor:pointer;width:44px;height:44px;transition:all .2s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex;position:static;bottom:auto;right:auto;box-shadow:0 10px 25px -5px #0000001f}.my-location-btn:hover{color:var(--text);background:var(--surface);transform:translateY(-1px)}.my-location-btn.active{color:#fff;background:#4285f4;border-color:#2563eb;box-shadow:0 0 0 4px #4285f440}.my-location-btn i{font-size:1.25rem}.country-fill-toggle{border:1px solid var(--map-control-border);background:var(--map-control-bg);-webkit-backdrop-filter:blur(12px)saturate(180%);color:var(--text-2);cursor:pointer;transition:all .25s var(--ease);border-radius:30px;align-items:center;gap:6px;padding:8px 14px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;display:inline-flex;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.country-fill-toggle:hover{color:var(--text);background:var(--surface)}.country-fill-toggle[data-active=true]{color:#fff;background:#1e293b;border-color:#1e293b;box-shadow:0 4px 12px #1e293b40}.map-style-selector{background:var(--map-control-bg);-webkit-backdrop-filter:blur(12px)saturate(180%);border:1px solid var(--map-control-border);transition:all .3s var(--ease);border-radius:999px;align-items:center;height:auto;padding:2px;line-height:1;display:inline-flex;position:static;bottom:auto;right:auto;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.theme-mode-selector{background:var(--map-control-bg);-webkit-backdrop-filter:blur(12px)saturate(180%);border:1px solid var(--map-control-border);border-radius:999px;align-items:center;gap:2px;height:auto;padding:2px;line-height:1;display:inline-flex;overflow:hidden;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.theme-mode-btn{box-sizing:border-box;height:44px;min-height:44px;max-height:44px;color:var(--text-2);cursor:pointer;transition:all .25s var(--ease);background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;display:flex}.theme-mode-btn:hover{color:var(--text);background:#8080801f}.theme-mode-btn.active{color:#fff;background:#1e293b;box-shadow:0 4px 12px #1e293b33}html[data-theme=night] .theme-mode-btn.active,html[data-theme=night] .map-style-btn.active{background:#3d4f6f;box-shadow:0 4px 12px #00000059}html[data-theme=night] .map-style-btn:hover{background:#ffffff0f}html[data-theme=night] .country-fill-toggle[data-active=true]{color:#e8eaef;background:#3d4f6f;border-color:#4a5d80}html[data-theme=night] .country-fill-toggle:hover{background:#3d4f6fd9}.map-style-btn{box-sizing:border-box;height:44px;min-height:44px;max-height:44px;color:var(--text-2);cursor:pointer;transition:all .25s var(--ease);background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;display:flex}.map-style-btn:hover{color:var(--text);background:#0000000a}.map-style-btn.active{color:#fff;background:#1e293b;box-shadow:0 4px 12px #1e293b33}.toggle-label{color:var(--text-2);cursor:pointer;align-items:center;gap:6px;font-size:.75rem;display:flex}.toggle-label input{cursor:pointer}.submit-pin-btn{color:#fff;background:#7c3aed;border-radius:8px;width:auto!important;padding:6px 14px!important;font-size:.78rem!important}.submit-pin-btn:hover{background:#6d28d9}.city-poi-item.starter-poi,.city-poi-item.starter-pending-poi{border-color:var(--border)!important;background:var(--surface)!important;box-shadow:var(--shadow-sm)!important}.city-poi-item.starter-pending-poi .city-poi-cat:after{content:"SITE";color:#64748b;background:#f1f5f9;border-color:#64748b40}.city-marker-wrapper.starter-marker .city-marker-icon{filter:drop-shadow(0 2px 5px #0f172a2e);animation:none!important}#trip-create-modal,#trip-emoji-modal{z-index:1200}.note-drop-modal-card{animation:.22s cubic-bezier(.34,1.56,.64,1) both modal-pop}.note-drop-modal-backdrop{animation:.2s both modal-fade}@keyframes modal-pop{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:none}}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.city-poi-item{transition:transform .14s,box-shadow .16s,border-color .16s,background .16s}.city-poi-item:hover{transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){.note-drop-modal-card,.note-drop-modal-backdrop{animation:none!important}.city-poi-item{transition:none!important}.city-poi-item:hover{transform:none!important}body.city-mode #left-panel{transition:max-height .4s var(--ease)!important}body:not(.city-mode).trip-sheet-open .globe-trip-body{animation:none!important}}.auth-btn,.edit-mode-btn,.filter-pill-btn,.note-drop-save,.note-drop-cancel,.login-trigger-btn,.pending-accept-btn,.inbox-mark-all,.generate-starter-btn,.profile-inline-save,.profile-friend-color-btn{transition:transform .1s,box-shadow .15s,background .15s,border-color .15s}.auth-btn:active:not(:disabled),.edit-mode-btn:active:not(:disabled),.filter-pill-btn:active:not(:disabled),.note-drop-save:active:not(:disabled),.note-drop-cancel:active:not(:disabled),.login-trigger-btn:active:not(:disabled),.pending-accept-btn:active:not(:disabled),.generate-starter-btn:active:not(:disabled),.profile-inline-save:active:not(:disabled){transform:scale(.95)}@media (prefers-reduced-motion:reduce){.auth-btn,.edit-mode-btn,.filter-pill-btn,.note-drop-save,.note-drop-cancel,.login-trigger-btn,.pending-accept-btn,.generate-starter-btn,.profile-inline-save,.trip-emoji-btn{transition:none!important}.auth-btn:active,.edit-mode-btn:active,.filter-pill-btn:active,.note-drop-save:active,.trip-emoji-btn:active{transform:none!important}}.empty-state-illustration{color:var(--primary,#7c3aed);margin:0 auto 8px;display:block}.city-empty-prompt{text-align:center;flex-direction:column;align-items:center;padding:26px 16px;animation:.4s both empty-fade-in;display:flex}.city-empty-sub{color:var(--text-3);margin:4px 0 0;font-size:.78rem}.friend-list-empty,.inbox-empty{text-align:center;color:var(--text-3);flex-direction:column;align-items:center;gap:4px;padding:12px 8px;font-size:.78rem;animation:.4s both empty-fade-in;display:flex}.friend-list-empty .empty-state-illustration,.inbox-empty .empty-state-illustration{opacity:.8;width:44px;height:44px}@keyframes empty-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ymap-loader{border:2.5px solid color-mix(in srgb, var(--primary,#7c3aed) 25%, transparent);border-top-color:var(--primary,#7c3aed);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin;display:inline-block}.skeleton-shimmer{background:color-mix(in srgb, var(--text-3,#94a3b8) 14%, transparent);position:relative;overflow:hidden}.skeleton-shimmer:after{content:"";background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:1.3s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton-shimmer:after{animation:none}}.city-poi-img-placeholder:not(.city-poi-img-placeholder--manual){position:relative;overflow:hidden}.city-poi-img-placeholder:not(.city-poi-img-placeholder--manual):before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff59,#0000);animation:1.4s ease-in-out infinite skeleton-sweep;position:absolute;inset:0;transform:translate(-100%)}@media (prefers-reduced-motion:reduce){.city-poi-img-placeholder:before{animation:none}}.trip-emoji-grid{grid-template-columns:repeat(6,1fr);gap:6px;margin:4px 0;display:grid}.trip-emoji-grid.emoji-picker-host{display:block}.trip-emoji-grid.emoji-picker-host .emoji-grids{max-height:240px}.emoji-cell.is-selected{background:#faf5ff;box-shadow:inset 0 0 0 2px #7c3aed}.trip-emoji-btn{aspect-ratio:1;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:1.3rem;transition:transform .12s,border-color .12s,background .12s;display:flex}.trip-emoji-btn:hover{border-color:#7c3aed;transform:scale(1.12)}.trip-emoji-btn:active{transform:scale(.92)}.trip-emoji-btn.is-selected{background:#faf5ff;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed40}.trip-share-box{border:1px solid var(--border);background:#3b82f60d;border-radius:10px;flex-direction:column;gap:8px;margin-top:8px;padding:10px;display:flex}body.trip-share-inline-open .trip-editor-panel>.trip-share-box{margin-top:10px;animation:.2s tripShareInlineIn}@keyframes tripShareInlineIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.trip-share-modal-card{width:min(380px,100%)}@media (width>=769px){.trip-share-modal{justify-content:flex-end;align-items:center;padding:24px}.trip-share-modal .note-drop-modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.trip-share-modal-card{width:min(340px,100%);box-shadow:var(--shadow-lg,0 12px 44px #00000038)}}.trip-share-modal-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.trip-share-modal-head .note-drop-label{margin-bottom:0}.trip-share-modal .trip-share-box{background:0 0;border:none;margin-top:0;padding:0}.trip-share-row{align-items:center;gap:6px;display:flex}.trip-share-input-wrap{flex:1;min-width:0;position:relative}.trip-share-input{border:1px solid var(--border);border-radius:8px;width:100%;min-width:0;padding:6px 10px;font-size:.82rem}.trip-share-suggestions{z-index:40;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto}.trip-share-suggestion{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 10px;display:flex}.trip-share-suggestion:last-child{border-bottom:none}.trip-share-suggestion:hover{background:#faf5ff}.trip-share-suggestion-name{color:var(--text-1);font-size:.82rem;font-weight:600}.trip-share-suggestion-code{color:var(--text-3);font-size:.7rem}.mention-suggest{z-index:13000;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;max-height:220px;position:fixed;overflow:hidden auto}.mention-suggest[hidden]{display:none}.mention-suggest-item{text-align:left;border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:7px 10px;display:flex}.mention-suggest-item:last-child{border-bottom:none}.mention-suggest-item:hover{background:#faf5ff}.mention-suggest-name{color:var(--text-1);font-size:.82rem;font-weight:600}.mention-suggest-code{color:var(--text-3);font-size:.7rem}.trip-share-role{border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:.78rem}.trip-collaborators-list{flex-direction:column;gap:4px;display:flex}.trip-collab-item{justify-content:space-between;align-items:center;padding:4px 0;font-size:.8rem;display:flex}.trip-collab-role{color:var(--text-3);text-transform:capitalize;margin-left:4px;font-size:.7rem;font-style:normal}.trip-collab-remove{color:var(--text-3);cursor:pointer;background:0 0;border:none;font-size:.85rem}.trip-collab-remove:hover{color:#e11d48}.trip-collab-empty{color:var(--text-3);font-size:.76rem}.inbox-unread-badge{color:#fff;background:#7c3aed;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.inbox-mark-all{color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;text-decoration:underline}.inbox-mark-all:hover{color:var(--text-1)}.inbox-list{flex-direction:column;gap:6px;max-height:260px;display:flex;overflow-y:auto}.inbox-empty{color:var(--text-3);padding:4px 0;font-size:.78rem}.inbox-item{text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;gap:2px;width:100%;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.inbox-item:hover{background:#faf5ff;border-color:#7c3aed}.inbox-item.is-unread{border-left:3px solid #7c3aed}.inbox-item-line{color:var(--text-1);font-size:.8rem}.inbox-item-body{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.inbox-item-time{color:var(--text-3);font-size:.68rem}.city-marker-wrapper.personal .city-marker-icon{isolation:isolate;width:42px;height:42px;filter:drop-shadow(0 4px 8px color-mix(in srgb, var(--my-pin-color,#8b5cf6) 45%, transparent));background:0 0;border:none;font-size:32px;position:relative}.city-marker-wrapper.personal .city-marker-icon:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--my-pin-color,#8b5cf6) 90%, transparent) 0%, color-mix(in srgb, var(--my-pin-color,#8b5cf6) 48%, transparent) 34%, transparent 58%);filter:blur(4px);z-index:-1;pointer-events:none;border-radius:50%;width:38px;height:38px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.city-marker-wrapper.personal:hover .city-marker-icon,.city-marker-wrapper.personal.active .city-marker-icon{filter:drop-shadow(0 6px 14px color-mix(in srgb, var(--my-pin-color,#8b5cf6) 65%, transparent))}.city-marker-wrapper.personal:hover .city-marker-icon:before,.city-marker-wrapper.personal.active .city-marker-icon:before{filter:blur(5px);transform:translate(-50%,-50%)scale(1.08)}.city-poi-item.personal:hover{background:#faf5ff;border-color:#8b5cf6}.city-poi-item.personal .city-poi-cat{color:#7c3aed}.city-poi-item.personal-shared{border-left:3px solid #8b5cf6}.city-poi-item.personal-shared .city-poi-cat:after{content:" • Shared";color:#7c3aed;text-transform:uppercase;font-weight:800}.poi-share-indicator{color:#7c3aed;background:#f3e8ff;border-radius:12px;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.edit-mode-btn{border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:all .2s var(--ease);background:0 0;border-radius:20px;align-items:center;gap:6px;margin-top:-2px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.edit-mode-btn:hover{color:#7c3aed;background:#faf5ff;border-color:#a78bfa}.edit-mode-btn.active{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 2px 6px #7c3aed4d}@keyframes wiggle{0%{transform:rotate(.6deg)translate(.5px)}50%{transform:rotate(-.6deg)translate(-.5px)}to{transform:rotate(.6deg)translate(.5px)}}.city-poi-list.editing .city-poi-item.editable-in-edit{animation:.25s ease-in-out infinite alternate wiggle;box-shadow:0 2px 6px #ef44441a;cursor:default!important;border-color:#f87171!important;transform:none!important}.delete-poi-btn{display:none!important}.city-poi-list.editing .city-poi-item.editable-in-edit .delete-poi-btn{z-index:20;cursor:pointer;width:22px;height:22px;transition:transform .15s var(--ease), background-color .15s;justify-content:center;align-items:center;font-weight:800;position:absolute;top:0;right:0;transform:translate(22%,-34%);box-shadow:0 2px 5px #00000040;color:#fff!important;background:#ef4444!important;border:1.5px solid #fff!important;border-radius:50%!important;padding:0!important;font-size:.7rem!important;display:flex!important}.city-poi-list.editing .city-poi-item.editable-in-edit .delete-poi-btn:hover{transform:translate(22%,-34%)scale(1.14);background:#dc2626!important}.delete-poi-confirm{z-index:25;width:118px;height:26px;animation:deleteConfirmIn .18s var(--ease);border:1.5px solid #fff;border-radius:13px;display:none;position:absolute;top:0;right:0;overflow:hidden;transform:translate(6%,-30%);box-shadow:0 2px 8px #00000038}.city-poi-list.editing .city-poi-item.editable-in-edit .delete-poi-confirm{display:flex}#map-container.pin-edit-mode .city-marker-wrapper.editable-in-edit .city-marker-icon,#map-container.pin-edit-mode .note-pin-marker.editable-in-edit .note-pin-icon{animation:.25s ease-in-out infinite alternate wiggle}.city-poi-list.editing .city-poi-item.non-editable-in-edit{opacity:.58;filter:saturate(.65)}.city-marker-wrapper.non-editable-in-edit,.friend-pin-marker.non-editable-in-edit,.note-pin-marker.non-editable-in-edit,.friend-note-pin-marker.non-editable-in-edit{opacity:.55;filter:grayscale(.25)}@keyframes deleteConfirmIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.delete-confirm-yes,.delete-confirm-no{letter-spacing:.02em;cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);border:none;flex:1;margin:0;padding:0 4px;font-size:.62rem;font-weight:800;line-height:1.1}.delete-confirm-yes{color:#fff;background:#ef4444}.delete-confirm-yes:hover{background:#dc2626}.delete-confirm-no{color:#475569;background:#f8fafc}.delete-confirm-no:hover{color:#1e293b;background:#e2e8f0}.ai-review-modal{-webkit-backdrop-filter:blur(8px);z-index:2000;box-sizing:border-box;background:#0f172a8c;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.ai-review-card-container{box-sizing:border-box;background:#ffffffe6;border:1px solid #ffffff80;border-radius:20px;flex-direction:column;width:100%;max-width:440px;animation:.35s cubic-bezier(.34,1.56,.64,1) modalPop;display:flex;overflow:hidden;box-shadow:0 20px 40px #0f172a40}@keyframes modalPop{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.ai-review-header{background:#ffffff80;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ai-review-badge{color:#7c3aed;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;font-size:.8rem;font-weight:700;display:flex}.ai-review-progress{color:var(--text-2);background:var(--bg-hover);border-radius:12px;padding:2px 10px;font-size:.78rem;font-weight:600}.ai-review-card{flex-direction:column;gap:14px;max-height:62vh;padding:16px 20px;display:flex;overflow-y:auto}.ai-review-image-wrapper{width:100%;height:180px;box-shadow:var(--shadow-sm);background:#e2e8f0;border-radius:14px;position:relative;overflow:hidden}.ai-review-image-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.ai-review-image-wrapper:hover img{transform:scale(1.04)}.ai-review-img-overlay{z-index:5;position:absolute;bottom:8px;right:8px}.ai-review-sub-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172abf;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:600;transition:all .2s;display:inline-flex}.ai-review-sub-btn:hover{background:#0f172ae6;transform:translateY(-1px)}.ai-review-fields{flex-direction:column;gap:10px;display:flex}.review-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.7rem;font-weight:700;display:block}.ai-review-fields input[type=text],.ai-review-fields input[type=number],.ai-review-fields select,.ai-review-fields textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);border-radius:8px;padding:8px 12px;font-family:Inter,sans-serif;font-size:.8rem;transition:border-color .2s}.ai-review-fields input:focus,.ai-review-fields select:focus,.ai-review-fields textarea:focus{border-color:#a78bfa;outline:none;box-shadow:0 0 0 2px #a78bfa26}.ai-review-actions{border-top:1px solid var(--border);background:var(--surface);gap:12px;padding:16px 20px;display:flex}.review-action-btn{cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px;font-family:Inter,sans-serif;font-size:.86rem;font-weight:700;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}.review-action-btn.skip{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.review-action-btn.skip:hover{background:#fca5a5;transform:translateY(-2px);box-shadow:0 4px 10px #dc262633}.review-action-btn.accept{color:#059669;background:#d1fae5;border:1px solid #6ee7b7}.review-action-btn.accept:hover{background:#6ee7b7;transform:translateY(-2px);box-shadow:0 4px 10px #05966940}.ai-review-cancel-all-btn{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-top:1px solid #0000000a;justify-content:center;align-items:center;gap:4px;padding:12px;font-family:Inter,sans-serif;font-size:.74rem;font-weight:600;transition:color .2s;display:flex}.ai-review-cancel-all-btn:hover{color:#ef4444}.animate-spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.city-poi-item.pending-poi:not(.starter-pending-poi){box-shadow:0 4px 12px #7c3aed14;transition:all .25s var(--ease)!important;background:#f5f3ffbf!important;border:1.5px dashed #a78bfa!important}.city-poi-item.pending-poi:not(.starter-pending-poi):hover{background:#f5f3fff2!important;border-color:#8b5cf6!important;transform:translate(4px)!important;box-shadow:0 6px 16px #7c3aed29!important}.city-poi-item.pending-poi:not(.starter-pending-poi) .city-poi-cat{align-items:center;font-weight:700;display:flex;color:#7c3aed!important}.pending-poi-actions{flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-left:auto;padding-left:8px;display:flex}.pending-action-btn{cursor:pointer;width:26px;height:26px;transition:all .2s var(--ease);box-shadow:var(--shadow-sm);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:flex}.pending-action-btn.accept{color:#059669;background:#d1fae5;border:1px solid #a7f3d0}.pending-action-btn.accept:hover{color:#fff;background:#10b981;transform:scale(1.18);box-shadow:0 4px 8px #10b98159}.pending-action-btn.reject{color:#dc2626;background:#fee2e2;border:1px solid #fca5a5}.pending-action-btn.reject:hover{color:#fff;background:#ef4444;transform:scale(1.18);box-shadow:0 4px 8px #ef444459}.city-marker-wrapper.personal.pending-marker .city-marker-icon{animation:1.6s ease-in-out infinite alternate markerPulse;filter:drop-shadow(0 0 8px #8b5cf6d9)!important}@keyframes markerPulse{0%{filter:drop-shadow(0 0 5px #8b5cf699);transform:scale(1)}to{filter:drop-shadow(0 0 14px #8b5cf6f2);transform:scale(1.16)}}.city-empty-prompt{flex-direction:column;align-items:stretch;gap:12px;padding:8px 4px 16px;display:flex}.city-empty-text{color:var(--text-2);margin:0;font-size:.85rem;line-height:1.45}.city-empty-hint{color:var(--text-3,var(--text-2));opacity:.85;margin:0;font-size:.75rem;line-height:1.4}.city-generate-footer{border-top:1px dashed var(--border);margin-top:12px;padding-top:12px}.city-generate-footer .generate-starter-btn{width:100%}.generate-starter-btn{border-radius:var(--radius-md,12px);color:#fff;cursor:pointer;width:100%;transition:transform .2s var(--ease), box-shadow .2s var(--ease);background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:none;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #7c3aed59}.generate-starter-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed73}.generate-starter-btn:disabled{opacity:.7;cursor:wait}html[data-theme=night] .city-poi-item.pending-poi{box-shadow:0 4px 12px #7c3aed33;background:#7c3aed24!important;border-color:#8b5cf6!important}html[data-theme=night] .city-poi-item.pending-poi:hover{background:#7c3aed38!important}html[data-theme=night] .city-poi-item.pending-poi .city-poi-cat{color:#c4b5fd!important}html[data-theme=night] .city-poi-item.pending-poi .city-poi-title{color:var(--text)}.hub-search-container{width:100%;position:relative}.hub-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--input-bg);box-sizing:border-box;outline:none;padding:6px 10px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.hub-input:focus{border-color:var(--text);box-shadow:0 0 0 2px #0000000a}.hub-suggestions{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:1000;max-height:200px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}@media (width<=768px){.hub-suggestions{max-height:34vh}}.hub-suggestion-item{color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:.8rem;transition:background .15s;display:flex}.hub-suggestion-item:hover,.hub-suggestion-item.active{background:var(--city-filter-bg)}.hub-suggestion-item .hub-flag{font-size:.95rem}.hub-suggestion-create .hub-name{color:var(--c-accent,#3b82f6);font-weight:600}.hub-suggestion-create .hub-flag i{color:var(--c-accent,#3b82f6)}.hub-suggestion-item .hub-name{font-weight:600}.add-city-row{position:relative}.add-city-suggestions{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:1000;max-height:200px;position:absolute;inset:calc(100% + 4px) 0 auto;overflow-y:auto}.hub-suggestion-item .hub-code{color:var(--text-2);margin-left:auto;font-family:monospace;font-size:.72rem;font-weight:600}.fact-icon-text{color:var(--text-2);text-align:center;letter-spacing:-.2px;width:18px;font-size:10px;font-weight:700;display:inline-block}.fact-item span[id^=d-]{flex-wrap:wrap;align-items:baseline;gap:4px 8px;line-height:1.35;display:flex}.fact-sub{color:var(--text-2);font-size:.78rem;font-weight:400}.fact-est{color:var(--text-2);font-size:.72rem}.spend-daily-label{color:var(--text-2);margin-right:2px;font-size:.78rem;font-weight:500}#d-local-spends{flex-direction:column;align-items:flex-start;gap:3px}.spend-tiers-row{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.fact-strong-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);width:100%;font-size:.72rem;font-weight:700}.spend-tier{align-items:baseline;gap:3px;font-size:.82rem;display:inline-flex}.spend-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-2);font-size:.7rem;font-weight:600}.spend-unit{color:var(--text-2);font-size:.75rem}.poi-maps-btn-wrap{flex-direction:column;flex-shrink:0;justify-content:center;align-self:center;align-items:center;gap:2px;display:flex}.poi-distance-label{color:var(--text-2);letter-spacing:.02em;white-space:nowrap;font-size:.62rem;font-weight:600;line-height:1.1}.poi-maps-btn{border:1px solid var(--border);background:var(--panel-muted-bg);width:30px;height:30px;color:var(--text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.poi-maps-btn:hover{background:var(--bg);border-color:var(--text-2)}.poi-maps-btn i{font-size:15px}.loading-shimmer-text{color:var(--text-2);font-style:italic;animation:1.5s ease-in-out infinite pulse-opacity;display:inline-block}.shimmer-badge{color:#a29bfe;background:#7b61ff26;border:1px solid #7b61ff4d;border-radius:10px;margin-left:6px;padding:2px 8px;font-size:.7rem;animation:1.5s ease-in-out infinite pulse-opacity;display:inline-block}@keyframes pulse-opacity{0%,to{opacity:.6}50%{opacity:1}}.filter-pill-btn{color:var(--text-2);border:1.5px solid var(--border);cursor:pointer;transition:all .2s var(--ease);background:0 0;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.78rem;font-weight:600;display:inline-flex}.filter-pill-btn:hover{color:var(--text);border-color:var(--text-2);background:#00000005}.filter-pill-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.explore-all-btn.active{background:var(--c-accent,#3b82f6)!important;color:#fff!important;border-color:#2563eb!important}.auth-gate-banner{text-align:center;background:#3b82f61a;border:1px solid #3b82f647;border-radius:16px;flex-direction:column;align-items:center;gap:12px;margin:12px 0 4px;padding:18px 20px;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s,box-shadow .4s;display:flex;box-shadow:0 12px 40px #3b82f61f}.auth-gate-banner[hidden]{display:none!important}.auth-gate-text{color:var(--text);justify-content:center;align-items:center;gap:8px;margin:0;font-size:.92rem;font-weight:600;display:flex}.auth-gate-btn{background:var(--c-accent,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:22px;padding:10px 22px;font-size:.88rem;font-weight:600;box-shadow:0 4px 14px #3b82f659}.auth-gate-btn:hover{filter:brightness(1.05)}body.auth-locked #left-panel .globe-trip-body,body.auth-locked #left-panel .add-city-row,body.auth-locked #left-panel #city-overview-panel,body.auth-locked .map-controls-stack{pointer-events:none;opacity:.42}body.auth-locked .app-brand,body.auth-locked .auth-gate-banner,body.auth-locked .auth-gate-banner *{pointer-events:auto;opacity:1}body.auth-locked .login-trigger-btn{display:none!important}body.auth-locked .auth-gate-banner{z-index:250;width:min(320px,100vw - 40px);margin:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}body.auth-slot-animate-in .desktop-auth-slot .user-profile-widget,body.auth-slot-animate-in .mobile-auth-header-slot .user-profile-widget{animation:.65s cubic-bezier(.22,1,.36,1) authProfileSlideIn}@keyframes authProfileSlideIn{0%{opacity:0;transform:translateY(28vh)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}body.auth-locked .desktop-auth-slot,body.auth-locked .mobile-auth-header-slot{pointer-events:none;opacity:0;height:0;margin:0;padding:0;overflow:hidden}.filter-pill-btn.active i{color:#ff5a5f}.add-city-row{border-top:1px dashed var(--border);gap:8px;width:100%;margin-top:10px;padding-top:8px;display:flex}.add-city-row-inner{width:100%;position:relative}.add-city-row span.add-city-icon{color:var(--text-2);pointer-events:none;opacity:.28;font-size:.7rem;transition:opacity .25s;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.add-city-row:hover span.add-city-icon,.add-city-row:focus-within span.add-city-icon{opacity:.85}.add-city-input-subtle{box-sizing:border-box;outline:none;width:100%;font-family:Inter,sans-serif;transition:all .25s;border:1px solid var(--border)!important;color:var(--text)!important;background:var(--input-bg)!important;opacity:.92!important;border-radius:8px!important;padding:8px 10px 8px 28px!important;font-size:.78rem!important;font-weight:500!important}.add-city-input-subtle::placeholder{color:var(--text-2);font-weight:500}.add-city-input-subtle:hover{opacity:1!important;border:1px solid var(--text-2)!important}.add-city-input-subtle:focus{opacity:1!important;border:1px solid var(--text)!important;color:var(--text)!important;box-shadow:0 2px 8px #00000014!important}.premium-error-modal{-webkit-backdrop-filter:blur(8px);z-index:99999;box-sizing:border-box;opacity:1;background:#0f172a73;justify-content:center;align-items:center;width:100vw;height:100vh;padding:20px;transition:opacity .25s;display:flex;position:fixed;top:0;left:0}.premium-error-card{text-align:center;box-sizing:border-box;background:#ffffffeb;border:1px solid #ef444440;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:400px;padding:28px 24px;transition:transform .25s;animation:.35s cubic-bezier(.34,1.56,.64,1) modalPop;display:flex;box-shadow:0 20px 40px #ef44441a,0 1px 2px #0000000d}.premium-error-icon{color:#dc2626;background:#ef44441a;border:1px solid #ef444426;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:18px;font-size:1.8rem;display:flex}.premium-error-title{color:#1e293b;margin:0 0 10px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.15rem;font-weight:700}.premium-error-desc{color:#64748b;margin:0 0 24px;font-family:Inter,sans-serif;font-size:.84rem;line-height:1.5}.premium-error-close-btn{color:#fff;cursor:pointer;background:#1e293b;border:none;border-radius:10px;padding:10px 24px;font-family:Plus Jakarta Sans,sans-serif;font-size:.84rem;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #1e293b33}.premium-error-close-btn:hover{background:#0f172a;transform:translateY(-1px);box-shadow:0 4px 8px #1e293b4d}.premium-error-close-btn:active{transform:translateY(0)}.city-poi-item.deleting{pointer-events:none;opacity:0!important;border:none!important;max-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;transform:scale(.85)translateY(-10px)!important}#avatar-upload-trigger:hover .avatar-hover-label,#avatar-upload-trigger:focus-visible .avatar-hover-label{opacity:1}#avatar-upload-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.username-input-field{width:100%;border:1px solid var(--border)!important;color:var(--text)!important;background:var(--input-bg)!important;opacity:1!important;transition:all .2s var(--ease)!important;box-sizing:border-box!important;border-radius:8px!important;outline:none!important;padding:6px 10px!important;font-family:Inter,sans-serif!important;font-size:.82rem!important;font-weight:500!important}.username-input-field:focus{opacity:1!important;border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f626!important}.toggle-drop-note-btn{color:#e63946;cursor:pointer;transition:all .2s var(--ease);white-space:nowrap;background:0 0;border:1px solid #e6394659;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:5px;padding:8px 14px;font-family:Inter,sans-serif;font-size:.78rem;font-weight:700;display:inline-flex}.toggle-drop-note-btn:hover{background:#e6394614;border-color:#e639468c}.toggle-drop-note-btn.active{color:#fff;background:#e63946;border-color:#e63946;box-shadow:0 0 0 3px #e6394638}.toggle-drop-note-btn i{font-size:.95rem}.add-point-slot{margin-top:10px}body.city-mode .add-point-slot{margin-top:8px}.city-poi-item.add-point-row{background:var(--city-card-bg);border:2px dashed #94a3b8a6}.city-poi-item.add-point-row:hover{border-color:#ca8a04}.add-point-thumb{color:#b45309;background:linear-gradient(145deg,#ca8a041f,#fff)}.add-point-thumb i{font-size:1.35rem}.add-stay-optional{opacity:.85;font-size:.72rem;font-weight:500}.add-stay-textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);resize:vertical;border-radius:8px;min-height:44px;margin-bottom:8px;padding:8px 10px;font-family:inherit;font-size:.84rem}#map-container.note-drop-mode,#map-container.add-stay-drop-mode{cursor:crosshair}.note-pin-marker{cursor:pointer;pointer-events:auto;flex-direction:column;align-items:center;display:flex}.note-pin-bubble{-webkit-backdrop-filter:blur(8px);color:#1e293be0;text-align:center;max-width:148px;transition:opacity .25s var(--ease), transform .25s var(--ease);pointer-events:none;-webkit-user-select:none;user-select:none;background:#ffffff9e;border:1px solid #ffffff73;border-radius:12px;margin-bottom:2px;padding:5px 10px;font-family:Inter,sans-serif;font-size:.72rem;font-style:italic;font-weight:500;line-height:1.35;transform:translateY(0);box-shadow:0 4px 14px #0f172a1f}html[data-theme=night] .note-pin-bubble{color:#f8fafce6;background:#0f172a94;border-left:1px solid #94a3b840}.note-pin-bubble.note-pin-bubble-hidden{opacity:0;pointer-events:none;transform:translateY(6px)}.note-pin-icon{color:var(--friend-color,#e63946);filter:drop-shadow(0 3px 6px color-mix(in srgb, currentColor 50%, transparent));justify-content:center;align-items:center;font-size:2.15rem;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:flex}.note-pin-marker:hover .note-pin-icon,.note-pin-marker.active .note-pin-icon{filter:drop-shadow(0 5px 10px color-mix(in srgb, currentColor 62%, transparent));transform:scale(1.15)translateY(-3px)}.friend-note-pin-marker{position:relative}.friend-note-pin-icon{color:var(--friend-color,#10b981);filter:drop-shadow(0 0 8px color-mix(in srgb, var(--friend-color,#10b981) 55%, transparent))}.friend-note-bubble{border:1px solid color-mix(in srgb, var(--friend-color,#10b981) 35%, white);box-shadow:0 0 0 1px color-mix(in srgb, var(--friend-color,#10b981) 18%, transparent)}.city-poi-item.note-poi-item{border-left:3px solid var(--friend-color,#e63946);background:color-mix(in srgb, var(--friend-color,#e63946) 8%, transparent)}.city-poi-item.note-poi-item .note-poi-icon{width:36px;height:36px;color:var(--friend-color,#e63946);flex-shrink:0;justify-content:center;align-items:center;font-size:1.55rem;line-height:1;display:flex}.note-poi-text{color:var(--text);font-style:italic;font-weight:500;line-height:1.35}.facts-grid.hidden-for-note{display:none!important}.action-grid.note-pin-only-maps{grid-template-columns:1fr}.action-grid.note-pin-only-maps #link-maps{grid-column:1/-1;justify-content:center;width:100%}.poi-note-btn{color:#e63946;cursor:pointer;z-index:18;width:22px;height:22px;transition:transform .15s var(--ease), color .15s, background .15s;background:#e639461f;border:1.5px solid #e6394659;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 5px #00000026}.poi-note-btn i{font-size:.72rem}.poi-note-btn:hover{transform:scale(1.08)}.city-poi-list.editing .city-poi-item:not(.pending-poi) .poi-note-btn{display:none!important}.poi-price-label{color:var(--text-2);flex-shrink:0;font-size:.75rem}.poi-overview-meta-row{align-items:center;gap:8px;min-width:0;margin-top:2px;display:flex}.poi-list-note-preview{color:#e63946;opacity:.9;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-top:0;font-size:.72rem;font-style:italic;line-height:1.25;overflow:hidden}.city-poi-img-wrap,.note-poi-icon-wrap{flex-shrink:0;line-height:0;position:relative}.city-poi-img-placeholder{line-height:1}.city-poi-img-placeholder--manual{border:1px dashed color-mix(in srgb, var(--border) 72%, transparent)}.city-poi-img-wrap .city-poi-img{display:block}.city-poi-item>.poi-discussion-badges{z-index:18;pointer-events:none;flex-direction:row-reverse;align-items:center;display:flex;position:absolute;top:-9px;right:-9px;transform:none}.city-poi-item>.poi-discussion-badges .poi-discussion-badge{width:auto;min-width:0;height:auto;color:var(--badge-color,#e63946);box-shadow:none;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin-left:3px;padding:0;display:flex;position:relative}.city-poi-item>.poi-discussion-badges .poi-discussion-badge:last-child{margin-left:0}.city-poi-item>.poi-discussion-badges .poi-discussion-badge i{color:var(--badge-color,#e63946);font-size:1.1rem;font-weight:400;line-height:1}.city-poi-item>.poi-discussion-badges .poi-discussion-overflow{letter-spacing:.03em;color:var(--badge-color,#64748b);font-size:.62rem;font-weight:700;line-height:1}.poi-discussion-badge-speaking{color:inherit;filter:none;font-size:.7rem;line-height:1;transform:translateY(0)}.city-poi-item>.poi-discussion-badges .poi-discussion-badge-own-note{z-index:2;box-shadow:none;background:0 0;border:none;color:var(--badge-color,#e63946)!important}.city-poi-item>.poi-discussion-badges .poi-discussion-badge:not(.poi-discussion-badge-own-note){background:0 0;border:none;color:var(--badge-color,#e63946)!important}.city-marker-icon .poi-marker-discussion-badges,.note-pin-icon .poi-marker-discussion-badges{z-index:20;pointer-events:none;position:absolute;inset:0}.poi-marker-discussion-badge{width:auto;min-width:0;height:auto;color:var(--badge-color,#e63946);box-shadow:none;left:var(--badge-left,50%);top:var(--badge-top,50%);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.poi-marker-discussion-badge i{color:var(--badge-color,#e63946);font-size:1.05rem;line-height:1;display:inline-block}.poi-marker-discussion-badge .poi-discussion-badge-speaking{filter:none;font-size:.62rem}.poi-marker-discussion-badge-own-note{box-shadow:none;background:0 0;border:none;color:var(--badge-color,#e63946)!important}.poi-marker-discussion-badge:not(.poi-marker-discussion-badge-own-note){color:var(--badge-color,#e63946)!important}.poi-marker-overflow{letter-spacing:.03em;color:var(--badge-color,#64748b);font-size:.62rem;font-weight:700;line-height:1}@media (width<=768px){.city-poi-item>.poi-discussion-badges .poi-discussion-badge{margin-left:2px}.city-poi-item>.poi-discussion-badges .poi-discussion-badge i{font-size:1rem}.poi-marker-discussion-badge i{font-size:.95rem}.poi-list-note-preview{display:none!important}}.poi-map-action-wrap{margin:0;padding:0 2px}.poi-shared-via{color:var(--text-2);margin:0 0 6px;font-size:.78rem}.poi-list-map-btn,.poi-panel-map-btn{cursor:pointer;text-underline-offset:2px;text-decoration:underline;box-shadow:none!important;color:var(--text-2)!important;background:0 0!important;border:none!important;padding:0!important;font-size:.78rem!important;font-weight:600!important}.poi-list-map-btn:hover,.poi-panel-map-btn:hover{color:var(--text)!important}.poi-list-map-btn{flex-shrink:0;align-self:center;margin-left:auto}.poi-user-note-wrap{background:0 0;border:none;width:100%;min-width:0;margin:8px 0 2px;padding:0}.note-comment-actions{align-items:center;gap:6px;margin-left:8px;display:inline-flex}.note-comment-action-btn{color:var(--text-2);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;font-size:.7rem;text-decoration:underline}.note-comment-action-btn:hover{color:var(--text)}.cmt-section-body{flex-direction:column;gap:12px;display:flex}.cmt-note-block{flex-direction:column;gap:8px;display:flex}.cmt-note-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);align-items:center;gap:6px;font-size:.68rem;font-weight:700;display:inline-flex}.cmt-note-input,.cmt-composer-input{box-sizing:border-box;border:1px solid var(--border);resize:vertical;background:var(--surface);width:100%;min-height:38px;color:var(--text);border-radius:10px;padding:9px 11px;font-family:inherit;font-size:.88rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}.cmt-note-input:focus,.cmt-composer-input:focus{border-color:var(--accent,#2563eb);outline:none;box-shadow:0 0 0 3px #2563eb24}.cmt-note-footer{align-items:center;gap:8px;display:flex}.cmt-note-footer .poi-note-visibility-btn{margin-right:auto}.cmt-divider{background:var(--border);opacity:.7;height:1px}.cmt-btn-primary{background:var(--accent,#2563eb);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:600;transition:filter .15s,transform 50ms;display:inline-flex}.cmt-btn-primary:hover{filter:brightness(1.07)}.cmt-btn-primary:active{transform:scale(.97)}.cmt-btn-ghost{border:1px solid var(--border);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:8px 14px;font-size:.8rem;font-weight:600;transition:background .15s;display:inline-flex}.cmt-btn-ghost:hover{background:var(--city-filter-bg,#0000000a)}.cmt-list{flex-direction:column;gap:14px;display:flex}.cmt-empty{border:1px dashed var(--border);color:var(--text-3);border-radius:10px;align-items:center;gap:8px;padding:14px 12px;font-size:.83rem;display:flex}.cmt-empty i{font-size:1.05rem}.cmt{display:block}.cmt-avatar{color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:.58rem;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff2e}.cmt--reply .cmt-avatar{width:18px;height:18px;font-size:.54rem}.cmt-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.cmt-main{background:0 0;border:none;flex:auto;min-width:0;padding:0}.cmt-head{flex-wrap:wrap;align-items:center;gap:7px;min-height:26px;line-height:1.2;display:flex}.cmt-author{color:var(--text);font-size:.84rem;font-weight:700}.cmt-you{color:var(--text-3);font-size:.72rem;font-weight:600}.cmt-you:before{content:"·";color:var(--text-3);margin-right:6px}.cmt-time{color:var(--text-3);font-size:.72rem}.cmt-time:before{content:"·";color:var(--text-3);margin-right:6px}.cmt-body{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;font-size:.86rem;line-height:1.45}.cmt-body-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;display:flex}.cmt-body-row .cmt-body{flex:auto;min-width:55%;margin-top:0}.cmt-body-spacer{flex:auto}.cmt-body-row .cmt-reactions{flex:0 auto}.cmt-foot-actions{flex:none;align-items:center;gap:2px;display:inline-flex}@media (hover:hover){.cmt-foot-actions,.cmt-time,.cmt-react-quickwrap{opacity:0;transition:opacity .12s}.cmt-main:hover>.cmt-body-row>.cmt-foot-actions,.cmt-main:hover>.cmt-head>.cmt-time,.cmt-main:hover>.cmt-body-row .cmt-react-quickwrap,.cmt-main:focus-within>.cmt-body-row>.cmt-foot-actions,.cmt-main:focus-within>.cmt-head>.cmt-time,.cmt-main:focus-within>.cmt-body-row .cmt-react-quickwrap{opacity:1}}.cmt-reactions{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.cmt-react-quickwrap{align-items:center;gap:3px;display:inline-flex}.cmt-react-pill{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:3px;height:22px;padding:0 7px;font-size:.74rem;line-height:1;transition:border-color .12s,background .12s;display:inline-flex}.cmt-react-pill:hover{border-color:var(--text-3)}.cmt-react-pill.is-mine{background:#2563eb1a;border-color:#2563eb80}.cmt-react-count{color:var(--text-2);font-size:.74rem;font-weight:700}.cmt-react-pill.is-mine .cmt-react-count{color:#2563eb}.cmt-react-quick{cursor:pointer;filter:grayscale(.15);opacity:.7;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.86rem;line-height:1;transition:background .12s,opacity .12s,transform 80ms;display:inline-flex}.cmt-react-quick:hover{background:var(--city-filter-bg,#0000000f);opacity:1;transform:scale(1.12)}.cmt-react-add{width:22px;height:22px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.cmt-react-add i{font-size:.96rem}.cmt-react-add:hover{background:var(--city-filter-bg,#0000000f);color:var(--text)}.emoji-picker{border:1px solid var(--border);background:var(--surface);border-radius:14px;width:100%;max-width:300px;margin:8px 0 2px;overflow:hidden;box-shadow:0 10px 28px #0000002e}.emoji-tabs{background:var(--city-filter-bg,#00000008);border-bottom:1px solid var(--border);gap:2px;padding:6px;display:flex}.emoji-tab{cursor:pointer;opacity:.55;filter:grayscale(.4);background:0 0;border:none;border-radius:8px;flex:1 1 0;height:30px;font-size:.96rem;line-height:1;transition:background .12s,opacity .12s,filter .12s,box-shadow .12s}.emoji-tab:hover{opacity:1;filter:none;background:var(--city-filter-bg,#0000000f)}.emoji-tab.is-active{opacity:1;filter:none;background:var(--surface,#fff);color:var(--c-accent,#3b82f6);box-shadow:0 1px 4px #0000001f, inset 0 0 0 1.5px var(--c-accent,#3b82f6)}.emoji-grids{max-height:196px;padding:8px;overflow-y:auto}.emoji-grid{grid-template-columns:repeat(8,1fr);gap:2px;display:grid}.emoji-cell{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;font-size:1.05rem;line-height:1;transition:background .1s,transform 60ms;display:flex}.emoji-cell:hover{background:var(--city-filter-bg,#00000014);transform:scale(1.18)}.cmt-collapse{color:var(--text-3);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-top:2px;padding:2px 4px;font-size:.76rem;font-weight:600;display:inline-flex}.cmt-collapse:hover{color:var(--text)}.cmt-collapse-icon{font-size:.9rem;transition:transform .12s}.cmt-collapse.is-collapsed .cmt-collapse-icon{transform:rotate(180deg)}.cmt-replies[hidden]{display:none}.cmt-actions{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.cmt-act{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:4px;padding:3px 8px;font-size:.74rem;font-weight:600;transition:background .13s,color .13s;display:inline-flex}.cmt-act i{font-size:.86rem}.cmt-act:hover{background:var(--city-filter-bg,#0000000d);color:var(--text)}.cmt-act--danger:hover{color:#ef4444}.cmt-head-actions{align-items:center;gap:2px;margin-left:auto;display:inline-flex}.cmt-icon-btn{width:26px;height:26px;color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;transition:background .13s,color .13s;display:inline-flex}.cmt-icon-btn i{font-size:.98rem}.cmt-icon-btn:hover{background:var(--city-filter-bg,#0000000f);color:var(--text)}.cmt-icon-btn--danger:hover{color:#ef4444}.cmt-privacy-pill{border:1px solid var(--border);background:var(--city-filter-bg,#0000000a);color:var(--text-2);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.68rem;font-weight:700;transition:border-color .13s,color .13s;display:inline-flex}.cmt-privacy-pill i{font-size:.82rem}.cmt-privacy-pill[data-public=true]{color:#2563eb;background:#2563eb14;border-color:#2563eb66}.cmt--note>.cmt-main>.cmt-head .cmt-author{font-size:.88rem}.cmt-note-placeholder{color:var(--text-3);cursor:text;align-items:center;gap:5px;font-style:italic;display:inline-flex}.cmt-note-placeholder i{font-size:.9rem}.cmt-replies{border-left:2px solid var(--border);flex-direction:column;gap:10px;margin-top:10px;padding-left:16px;display:flex}.cmt-replies--root{border-left:2px solid var(--border);margin-top:8px;padding-left:14px}.cmt-composer{flex-direction:column;gap:8px;display:flex}.cmt-composer--inline{margin-top:9px}.cmt-composer--inline[hidden]{display:none}.cmt-composer-actions{justify-content:flex-end;gap:8px;display:flex}.poi-discussion-stack{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.poi-discussion-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-sizing:border-box;width:100%;overflow:hidden}.poi-discussion-summary{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 10px;font-size:.78rem;font-weight:600;list-style:none;display:flex}.poi-discussion-summary::-webkit-details-marker{display:none}.poi-discussion-summary-title{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.poi-discussion-preview{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-3);margin-left:auto;font-size:.72rem;font-weight:500;overflow:hidden}.poi-discussion-chevron{margin-left:4px;font-size:.82rem;transition:transform .2s}.poi-discussion-section[open] .poi-discussion-chevron{transform:rotate(180deg)}.poi-discussion-section-body{box-sizing:border-box;width:100%;padding:0 10px 10px}.poi-user-note-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);align-items:center;gap:6px;margin-bottom:6px;font-size:.72rem;font-weight:700;display:flex}.poi-user-note-field{box-sizing:border-box;border:1px solid var(--border);resize:vertical;background:var(--surface);width:100%;min-height:36px;color:var(--text);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:.88rem}.poi-note-actions{flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:8px;display:flex}.poi-note-visibility-btn{border:1px solid var(--border);background:var(--city-filter-bg);color:var(--text-2);cursor:pointer;box-sizing:border-box;border-radius:999px;align-items:center;gap:4px;min-height:36px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}#poi-user-note-save-btn.note-comment-save-btn,#poi-note-comment-save-btn.note-comment-save-btn{box-sizing:border-box;min-height:36px;padding-top:0;padding-bottom:0}#poi-user-note-save-btn.note-comment-save-btn{flex:1;width:auto;margin-top:0}#poi-note-comment-save-btn.note-comment-save-btn{width:100%}.poi-comment-input{min-height:84px}.poi-note-visibility-btn[data-public=true]{color:#2563eb;border-color:#2563eb59}html[data-theme=night] .poi-user-note-wrap{background:0 0}@media (width<=768px){body.city-mode.city-poi-detail-open #panel-content{gap:8px}body.city-mode.city-poi-detail-open #facts-grid{order:3;gap:6px;margin-top:2px;padding:10px 12px}body.city-mode.city-poi-detail-open #poi-user-note-wrap{order:2;align-self:stretch;width:100%;margin:4px 0 0;display:block}body.city-mode.city-poi-detail-open .dest-header{padding-right:0}body.city-mode.city-poi-detail-open .poi-discussion-stack{grid-template-columns:minmax(0,1fr);place-items:stretch stretch;gap:6px;width:100%;max-width:100%;display:grid}body.city-mode.city-poi-detail-open .poi-discussion-section--thread{grid-column:1/-1;width:100%;min-width:0;height:100%}body.city-mode.city-poi-detail-open .poi-discussion-summary{justify-content:space-between;width:100%}body.city-mode.city-poi-detail-open .poi-discussion-summary-title{min-width:0}body.city-mode.city-poi-detail-open .poi-discussion-preview{text-align:right;flex:1}body.city-mode.city-poi-detail-open .poi-discussion-section--thread[open]{flex-direction:column;display:flex}body.city-mode.city-poi-detail-open .poi-discussion-section--thread[open] .poi-discussion-section-body{flex-direction:column;flex:1;justify-content:flex-start;display:flex}body.city-mode.city-poi-detail-open .poi-discussion-summary{padding:6px 8px;font-size:.72rem}body.city-mode.city-poi-detail-open .poi-discussion-preview{font-size:.66rem}body.city-mode.city-poi-detail-open .poi-discussion-section-body{padding:0 8px 8px}body.city-mode.city-poi-detail-open .poi-user-note-field{min-height:68px;padding:7px 8px;font-size:.82rem}body.city-mode.city-poi-detail-open .poi-comment-input{min-height:68px}body.city-mode .city-poi-item .poi-price-label{display:none!important}body.city-mode.city-poi-detail-open #action-grid{order:4}body.city-mode.city-poi-detail-open #panel-bottom-actions{order:5;justify-content:center;margin-top:2px;margin-bottom:8px}}.note-drop-modal{z-index:100;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.note-drop-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a59;position:absolute;inset:0}.note-drop-modal-card{background:var(--surface);border:1px solid var(--border);width:min(360px,100%);box-shadow:var(--shadow-lg);border-radius:16px;padding:18px;position:relative}.note-drop-label{color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.78rem;font-weight:700;display:block}.note-drop-input{border:1px solid var(--border);background:var(--city-card-bg);width:100%;color:var(--text);box-sizing:border-box;border-radius:10px;padding:12px 14px;font-family:Inter,sans-serif;font-size:.95rem;font-style:italic}.note-drop-input:focus{border-color:#e63946;outline:none;box-shadow:0 0 0 3px #e6394626}.note-drop-label.add-point-field-gap{margin-top:14px}.add-point-select{cursor:pointer;margin-bottom:2px;font-style:normal}#add-point-maps.add-point-maps-picked{color:var(--text);background:#22c55e14;border-color:#22c55e59;font-style:normal}.note-drop-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.note-drop-cancel,.note-drop-save{cursor:pointer;border:1px solid var(--border);color:var(--text-2);background:0 0;border-radius:8px;padding:8px 14px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600}.note-drop-save{color:#fff;background:#e63946;border-color:#e63946;align-items:center;gap:5px;display:inline-flex}.note-drop-save:hover{background:#d62839}.note-drop-cancel:hover{background:var(--city-card-bg)}.beta-feedback-link-btn{color:var(--text-2);border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:8px;padding:8px 12px;font-size:.78rem;display:inline-flex}.beta-feedback-link-btn:hover{color:var(--text);border-color:var(--text-2);background:var(--panel-muted-bg)}.beta-feedback-modal{z-index:12000;pointer-events:none;opacity:0;transition:opacity .2s var(--ease);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.beta-feedback-modal.active{pointer-events:auto;opacity:1}.beta-feedback-backdrop{background:#00000073;position:absolute;inset:0}.beta-feedback-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(480px,100%);max-height:90vh;box-shadow:var(--shadow-lg);padding:22px 20px 18px;position:relative;overflow-y:auto}.beta-feedback-card h3{align-items:center;gap:8px;margin-bottom:8px;font-size:1.1rem;display:flex}.beta-feedback-close{position:absolute;top:12px;right:12px}.beta-feedback-intro{color:var(--text-2);margin-bottom:14px;font-size:.82rem;line-height:1.45}.beta-feedback-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin-bottom:6px;font-size:.72rem;font-weight:700;display:block}.beta-feedback-note{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;background:var(--input-bg);width:100%;min-height:100px;color:var(--text);box-sizing:border-box;padding:10px 12px;font-family:inherit;font-size:.88rem}.beta-feedback-session{color:var(--text-2);margin:10px 0 14px;font-size:.72rem}.beta-feedback-session code{word-break:break-all;font-size:.7rem}.beta-feedback-actions{flex-wrap:wrap;gap:8px;display:flex}.beta-feedback-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);flex:1;justify-content:center;align-items:center;gap:6px;min-width:140px;padding:10px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.beta-feedback-btn.primary{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.beta-feedback-btn.primary:hover{background:var(--c-accent-hover)}.beta-feedback-btn.secondary{background:var(--surface);color:var(--text)}.beta-feedback-status{color:#10b981;margin-top:12px;font-size:.8rem;line-height:1.4}.beta-feedback-status.is-error{color:#e63946}.admin-errors-body{background:var(--bg);height:auto;min-height:100vh;overflow:auto}.admin-errors-header{border-bottom:1px solid var(--border);background:var(--surface);padding:20px 24px 12px}.admin-errors-header h1{align-items:center;gap:8px;margin:8px 0 4px;font-size:1.35rem;display:flex}.admin-errors-sub{color:var(--text-2);font-size:.82rem}.admin-auth-badge{color:#10b981;margin-top:8px;font-size:.82rem;font-weight:600}.admin-auth-badge.is-warn{color:#e07a5f}.admin-back-link{color:var(--text-2);align-items:center;gap:4px;font-size:.82rem;text-decoration:none;display:inline-flex}.admin-back-link:hover{color:var(--c-accent)}.admin-errors-toolbar{background:var(--panel-muted-bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:16px 24px;display:flex}.admin-field{color:var(--text-2);text-transform:uppercase;flex-direction:column;gap:4px;font-size:.72rem;font-weight:600;display:flex}.admin-field input,.admin-field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);min-width:200px;color:var(--text);padding:8px 10px;font-size:.88rem}.admin-status{color:var(--text-2);align-self:center;font-size:.82rem}.admin-status.is-error{color:#e63946}.admin-errors-layout{grid-template-columns:1fr min(420px,40vw);gap:0;min-height:calc(100vh - 160px);display:grid}@media (width<=900px){.admin-errors-layout{grid-template-columns:1fr}}.admin-errors-list-wrap{border-right:1px solid var(--border);overflow:auto}.admin-errors-table{border-collapse:collapse;width:100%;font-size:.82rem}.admin-errors-table th{text-align:left;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 12px;position:sticky;top:0}.admin-errors-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.admin-errors-table tbody tr{cursor:pointer}.admin-errors-table tbody tr:hover{background:var(--panel-muted-bg)}.admin-errors-table tbody tr.selected{background:#ff5a5f14}.admin-mode-toggle{background:var(--panel-muted-bg,#f1f5f9);border-radius:10px;gap:4px;padding:3px;display:inline-flex}.admin-mode-btn{color:var(--text-2,#475569);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:600}.admin-mode-btn.is-active{color:#fff;background:#222}.admin-timeline{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.admin-timeline-item{border-left:2px solid var(--border);padding:2px 0 6px 10px}.admin-timeline-time{color:var(--text-3);margin-right:8px;font-size:.7rem}.admin-timeline-action{color:var(--text-1);font-size:.82rem;font-weight:600}.admin-errors-table tbody tr.is-downloaded{background:#10b9811a}.admin-errors-table tbody tr.is-downloaded td:first-child{box-shadow:inset 3px 0 #10b981}.admin-errors-table tbody tr.is-downloaded.selected{background:#10b9812e}.admin-source-pill{background:var(--panel-muted-bg);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:.72rem;display:inline-block}.admin-empty{color:var(--text-2);text-align:center;padding:24px}.admin-errors-detail{background:var(--surface);padding:16px 18px;overflow:auto}.admin-detail-placeholder{color:var(--text-2);font-size:.88rem}.admin-errors-detail h2{margin-bottom:4px;font-size:1rem}.admin-detail-meta{color:var(--text-2);margin-bottom:10px;font-size:.78rem}.admin-detail-msg{margin-bottom:14px;font-weight:600;line-height:1.4}.admin-errors-detail section{margin-bottom:14px}.admin-errors-detail h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin-bottom:6px;font-size:.75rem}.admin-pre{background:var(--panel-muted-bg);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;padding:10px;font-size:.72rem;line-height:1.4}.admin-pre-scroll{max-height:220px;overflow:auto}.admin-meta-list{font-size:.8rem;line-height:1.5;list-style:none}.admin-meta-list a{color:var(--c-accent);word-break:break-all}.note-title-editable{cursor:text;border-radius:6px;outline:none;transition:box-shadow .15s,background .15s}.note-title-editable:hover{background:var(--c-surface-2,#78788c1a);box-shadow:0 0 0 4px var(--c-surface-2,#78788c1a)}.note-title-editable:focus{background:var(--c-surface-2,#78788c24);box-shadow:0 0 0 2px var(--c-accent,#e63946)}.city-sort-wrap{flex-shrink:0;position:relative}body.city-mode #city-sheet-pills-row{align-items:center;gap:6px;display:flex}body.city-mode #city-sheet-pills-row #city-districts-legend.city-districts-legend--inline{flex:auto;gap:8px;min-width:0;margin:0;display:flex}body.city-mode #city-sheet-pills-row .district-toggle-btn{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0}body.city-mode #city-sheet-pills-row .edit-mode-btn--icon{flex:none;margin-left:2px}.city-filters-row{align-items:center;gap:8px;margin:6px 0 4px;display:flex}.city-filters-row .city-filters--desktop{flex:auto;gap:2px;min-width:0;margin:0;padding:2px;display:flex}.city-filters-row .city-filter-btn{padding:4px 6px;font-size:.72rem}@media (width>=769px){.city-filters-row .city-filter-btn{padding:3px 6px;font-size:.7rem}}.city-filters-row .city-sort-wrap{flex-shrink:0;margin-left:auto}body.city-mode.city-sheet-collapsed .city-filters-row{display:none!important}@media (width>=769px){body.city-mode #city-sort-btn #city-sort-label,body.city-mode #city-sort-btn .city-category-chevron{display:none}body.city-mode #city-sort-btn{padding:5px 7px!important}}body.city-mode .edit-mode-btn--icon{background:var(--city-card-bg);width:28px;height:28px;color:var(--text-2);border:1.5px solid var(--border);cursor:pointer;transition:all .2s var(--ease);border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}body.city-mode .edit-mode-btn--icon i{font-size:14px}body.city-mode .edit-mode-btn--icon.active{background:var(--accent,#2563eb);color:#fff;border-color:var(--accent,#2563eb)}body.city-mode #city-sort-btn{padding:4px 9px!important;font-size:.66rem!important}.poi-badge-row .keep-private-pill{margin:0;padding:2px 9px;font-size:.68rem;font-weight:700}.poi-badge-row .keep-private-pill i{font-size:.82rem}.expand-btn--icon{border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.expand-btn--icon i{font-size:16px}body.city-mode #city-sort-btn{background:var(--city-card-bg);color:var(--text-2);border:1.5px solid var(--border);cursor:pointer;white-space:nowrap;transition:all .2s var(--ease);border-radius:999px;align-items:center;gap:5px;padding:6px 11px;font-family:Inter,sans-serif;font-size:.7rem;font-weight:700;display:inline-flex}body.city-mode #city-sort-btn:hover{border-color:var(--text-3);color:var(--text)}body.city-mode #city-sort-btn i:first-child{font-size:13px}body.city-mode #city-sort-btn .city-category-chevron{opacity:.65;margin-left:1px;font-size:.78rem}#city-sort-menu{background:var(--surface);border:1px solid var(--border);min-width:168px;box-shadow:var(--shadow-lg);z-index:200;border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);right:0}#city-sort-menu.is-fixed{position:fixed}#city-sort-menu[hidden]{display:none!important}#city-sort-menu .city-sort-opt{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:.8rem;font-weight:600}#city-sort-menu .city-sort-opt:hover{background:var(--city-filter-bg,#0000000d)}#city-sort-menu .city-sort-opt.active{color:var(--accent,#2563eb)}@media (width>=769px){body.city-mode .city-sheet-pills-row{flex-wrap:wrap;row-gap:6px}}.poi-badge-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.poi-badge-row:empty{margin:0;display:none}.poi-badge-row .keep-private-pill{margin:0}.poi-discussion-section-body .cmt-composer,.poi-discussion-section-body .cmt-composer-input,.poi-discussion-section-body .cmt--note>.cmt-main{box-sizing:border-box;width:100%}@media (width<=768px){body.city-mode .city-sheet-pills-row{margin-bottom:3px;padding:2px 0 3px}body.city-mode .city-filters-row{margin:3px 0 4px}body.city-mode .city-filters-row .city-filters--desktop{padding:2px}body.city-mode .city-filters-row .city-filter-btn{padding:5px 8px;font-size:.66rem}}.admin-summary{border:1px solid var(--border);background:var(--surface,#fff);box-shadow:var(--shadow-sm);border-radius:14px;margin:0 18px 14px;padding:14px 16px}.admin-stat-row{flex-wrap:wrap;gap:10px;display:flex}.admin-stat{border:1px solid var(--border);text-align:left;background:#00000004;border-radius:10px;flex-direction:column;flex:110px;gap:2px;min-width:96px;padding:10px 12px;display:flex}.admin-stat-num{font-size:1.35rem;font-weight:700;line-height:1.1}.admin-stat-label{color:var(--text-2);font-size:.72rem}.admin-stat-btn{cursor:pointer;transition:transform .12s,box-shadow .12s}.admin-stat-btn:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.admin-stat-total{color:#fff;background:#111;border-color:#111}.admin-stat-total .admin-stat-label{color:#ffffffb3}.admin-stat-good{background:#10b9811a;border-color:#10b9814d}.admin-summary-hint{color:var(--text-3,#999);margin:10px 2px 0;font-size:.74rem}.cat-feedback{--cat:#7c3aed}.cat-bug{--cat:#e63946}.cat-ux{--cat:#2563eb}.cat-user{--cat:#6b7280}.cat-noise{--cat:#9ca3af}.admin-stat.cat-feedback,.admin-stat.cat-bug,.admin-stat.cat-ux,.admin-stat.cat-user,.admin-stat.cat-noise{border-color:color-mix(in srgb, var(--cat) 35%, transparent);background:color-mix(in srgb, var(--cat) 10%, transparent)}.admin-cat-pill{white-space:nowrap;color:var(--cat,#444);background:color-mix(in srgb, var(--cat,#444) 14%, transparent);border:1px solid color-mix(in srgb, var(--cat,#444) 30%, transparent);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.admin-summary-cols{grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-top:14px;display:grid}.admin-summary-col h4{margin:0 0 8px;font-size:.8rem}.admin-funnel-step{margin-bottom:8px}.admin-funnel-bar{background:#0000000f;border-radius:6px;height:8px;overflow:hidden}.admin-funnel-bar span{background:linear-gradient(90deg,#3b82f6,#10b981);border-radius:6px;height:100%;display:block}.admin-funnel-meta{color:var(--text-2);margin-top:3px;font-size:.72rem}.admin-mini-list{margin:0;padding:0;list-style:none}.admin-mini-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:4px 0;font-size:.78rem;display:flex}.admin-mini-list li span{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-price-table{border-collapse:collapse;width:100%;font-size:.74rem}.admin-price-table th{text-align:left;color:var(--text-2);padding:4px 6px;font-weight:600}.admin-price-table td{border-top:1px solid var(--border);padding:3px 6px}.admin-price-table input{border:1px solid var(--border);border-radius:6px;width:78px;padding:3px 6px;font-size:.74rem}@media (width<=720px){.admin-summary-cols{grid-template-columns:1fr}}.poi-history-list{flex-direction:column;gap:2px;max-height:260px;display:flex;overflow-y:auto}.poi-history-count{color:var(--text-2);background:#0000000d;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:.72rem;font-weight:600}.poi-history-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:10px;padding:6px 4px;display:flex}.poi-history-item:last-child{border-bottom:none}.poi-history-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.82rem;font-weight:600;overflow:hidden}.poi-history-meta{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:1px;display:flex}.poi-history-city{color:var(--text);font-size:.76rem;font-weight:500}.poi-history-time{color:var(--text-3,#999);font-size:.68rem}.poi-history-empty{color:var(--text-2);padding:8px 2px;font-size:.78rem}
