:root{--primary:#ff6a1a;--primary-deep:#d9430a;--primary-ink:#d9430a;--primary-soft:#ffe7d6;--primary-glow:rgba(255,106,26,.5);--bg:#fff8f2;--bg-alt:#f0e6da;--surface:#fff;--ink:#22190f;--ink-2:#6e6154;--ink-3:#a99b8b;--line:#eee4d8;--line-soft:#f4ede4;--green:#159a5b;--green-soft:#dbf3e6;--violet:#7a5af0;--violet-soft:#ece6ff;--blue:#2e9be4;--blue-soft:#ddebff;--sage:#dbf3e6;--sage-deep:#159a5b;--peach:#ffe7d6;--peach-deep:#d9430a;--rose:#ffe0d9;--rose-deep:#c0492e;--butter:#ffefc9;--butter-deep:#b7791f;--sky:#ddebff;--sky-deep:#2e9be4;--lilac:#ece6ff;--lilac-deep:#7a5af0;--sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"PingFang TC","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif;--disp:"Sora",-apple-system,BlinkMacSystemFont,"PingFang TC","PingFang SC","Helvetica Neue",Helvetica,Arial,sans-serif;--serif:var(--disp);--r-sm:12px;--r-md:14px;--r-lg:18px;--r-xl:22px;--r-2xl:26px;--r-pill:9999px;--shadow-sm:0 2px 4px rgba(80,50,20,.04),0 8px 22px -6px rgba(120,70,30,.14);--shadow-md:0 8px 20px -6px rgba(120,70,30,.18);--shadow-cta:0 8px 20px -6px var(--primary-glow)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg,#fff8f2)}body{background:#ede7df;display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media (max-width:430px){body,html{height:100dvh;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0;width:100%;background:var(--bg);display:block;min-height:0}}button{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:none;border:none;text-align:inherit}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}:focus{outline:none}:focus-visible{outline:2.5px solid var(--primary);outline-offset:2px}.pressable{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,opacity .12s ease}.pressable:active{transform:scale(.97)}.pressable.link:active{transform:none;opacity:.6}.pressable:disabled,.pressable[aria-disabled=true]{opacity:.5;cursor:default}.pressable:disabled:active,.pressable[aria-disabled=true]:active{transform:none}.skeleton{position:relative;overflow:hidden;background:var(--bg-alt);border-radius:var(--r-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}.spinner{display:inline-block;box-sizing:border-box;border:2px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.fade-in{animation:fade-in .22s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.phone-outer{align-items:center;justify-content:center;min-height:100vh}.phone,.phone-outer{display:flex;position:relative}.phone{width:390px;height:844px;background:var(--bg);border-radius:44px;box-shadow:0 40px 80px -20px rgba(60,30,10,.4),inset 0 0 0 1px hsla(0,0%,100%,.12);overflow:hidden;flex-direction:column}.phone-lang-toggle{position:fixed;top:20px;right:20px;z-index:9999;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:6px 14px;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;font-family:var(--sans);box-shadow:var(--shadow-sm);transition:background .15s}.phone-lang-toggle:hover{background:var(--bg-alt)}@media (max-width:430px){.phone-outer{display:block;min-height:0;height:100dvh}.phone{width:100%;height:100%;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top)}.phone-lang-toggle{top:calc(12px + env(safe-area-inset-top));right:12px}}.screens{flex:1;overflow:hidden;position:relative;min-height:0;isolation:isolate}.screen{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;overflow:hidden}.screen.active{opacity:1;transform:none;pointer-events:all}.scroll-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior:none}.scroll-body::-webkit-scrollbar{display:none}.detail-overlay{position:absolute;inset:0;z-index:58;background:var(--bg);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .28s cubic-bezier(.32,.72,0,1);overflow:hidden}.detail-overlay.open{transform:translateY(0)}.detail-overlay .scroll-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior:none}.detail-overlay .scroll-body::-webkit-scrollbar{display:none}.drag-handle{width:36px;height:4px;border-radius:2px;background:var(--line);margin:10px auto 0;flex-shrink:0}#backdrop{position:absolute;inset:0;z-index:55;background:rgba(34,25,15,0);pointer-events:none;transition:background .25s}#backdrop.active{background:rgba(34,25,15,.48);pointer-events:all}.bnav{min-height:82px;background:var(--surface);border-top:1px solid var(--line-soft);justify-content:space-around;padding:0 12px calc(18px + env(safe-area-inset-bottom, 0px));flex-shrink:0;position:relative;z-index:10;box-shadow:0 -4px 20px -8px rgba(80,50,20,.12)}.bnav,.bnav-item{display:flex;align-items:center}.bnav-item{flex-direction:column;gap:5px;cursor:pointer;flex:1;-webkit-tap-highlight-color:transparent}.bnav-label{font-family:var(--disp);font-size:10px;font-weight:700;letter-spacing:.01em;color:var(--ink-3);transition:color .15s}.bnav-item.active .bnav-label{color:var(--primary);font-weight:800}.bnav-fab{width:56px;height:56px;background:linear-gradient(135deg,#ff8a3d,var(--primary));border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -6px var(--primary-glow),0 0 0 5px var(--bg);cursor:pointer;flex-shrink:0;margin-top:-22px;-webkit-tap-highlight-color:transparent;transition:transform .12s}.bnav-fab:active{transform:scale(.94)}.card,.post-card{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);border:1px solid var(--line-soft)}.post-card{padding:16px}.round-thumb{width:172px;flex-shrink:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s}.round-thumb:active{transform:scale(.97)}.round-thumb-art{height:96px;position:relative;overflow:hidden}.round-thumb-body{background:var(--surface);padding:10px 12px 12px}.comm-thumb{width:170px;flex-shrink:0;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s}.comm-thumb:active{transform:scale(.97)}.comm-thumb-art{height:88px;position:relative;overflow:hidden}.comm-thumb-body{background:var(--surface);padding:10px 12px 12px}.comm-full-card{background:var(--surface);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line-soft);cursor:pointer;-webkit-tap-highlight-color:transparent;margin-bottom:10px}.comm-tab{flex:1;text-align:center;padding:11px 0;font-family:var(--disp);font-size:13px;font-weight:700;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}.comm-tab.active{color:var(--primary);font-weight:800;border-bottom-color:var(--primary)}.bottom-sheet{position:absolute;bottom:0;left:0;right:0;z-index:60;background:var(--bg);border-radius:20px 20px 0 0;box-shadow:0 -8px 32px rgba(58,46,36,.12);transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;max-height:92%}.bottom-sheet.open{transform:translateY(0)}.sheet-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1}.sheet-scroll::-webkit-scrollbar{display:none}.notif-pop{position:absolute;top:72px;right:10px;width:min(360px,calc(100% - 20px));max-height:70%;z-index:60;background:var(--bg);border-radius:16px;box-shadow:0 14px 44px rgba(58,46,36,.2);display:flex;flex-direction:column;transform-origin:top right;opacity:0;transform:translateY(-10px) scale(.96);pointer-events:none;transition:opacity .18s ease,transform .22s cubic-bezier(.32,.72,0,1)}.notif-pop.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.notif-pop:before{content:"";position:absolute;top:-6px;right:28px;width:13px;height:13px;background:var(--bg);border-radius:3px 0 0 0;transform:rotate(45deg)}.notif-pop-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;flex-shrink:0}.notif-pop-title{font-size:18px;font-weight:800;color:var(--ink)}.notif-pop-title,.serif{font-family:var(--serif)}.label-xs{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.section-title{font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}.section-row{display:flex;align-items:center;justify-content:space-between;padding:0 20px;margin-bottom:10px}.see-all{font-size:12px;font-weight:700;color:var(--primary);cursor:pointer}.avatar{border-radius:50%;background:var(--primary-soft);display:flex;justify-content:center;font-weight:800;color:#fff;flex-shrink:0}.avatar,.badge{align-items:center;font-family:var(--disp)}.badge{display:inline-flex;padding:3px 9px;border-radius:var(--r-pill);font-size:11px;font-weight:700}.ava-stack{display:flex}.ava-stack .avatar{margin-left:-8px;border:2px solid var(--surface)}.ava-stack .avatar:first-child{margin-left:0}.pulse-dot{position:relative;width:8px;height:8px;flex-shrink:0}.pulse-dot,.pulse-dot:after{border-radius:50%;background:var(--primary)}.pulse-dot:after{content:"";position:absolute;inset:0;animation:forely-pulse 2s ease-out infinite}@keyframes forely-pulse{0%{transform:scale(1);opacity:1}70%{transform:scale(2.4);opacity:0}to{opacity:0}}.filter-pill{display:inline-flex;align-items:center;padding:8px 15px;border-radius:var(--r-pill);font-size:12.5px;font-weight:700;background:var(--surface);color:var(--ink-2);border:1.5px solid var(--line);cursor:pointer;white-space:nowrap;transition:all .12s;-webkit-tap-highlight-color:transparent}.filter-pill.active{background:var(--primary);color:#fff;border-color:var(--primary);font-family:var(--disp);font-weight:800}.toggle-tabs{display:flex;background:var(--bg-alt);padding:4px;width:100%}.toggle-tab,.toggle-tabs{border-radius:var(--r-pill)}.toggle-tab{flex:1;text-align:center;padding:9px 0;font-family:var(--disp);font-size:13px;font-weight:700;color:var(--ink-3);cursor:pointer;transition:all .15s}.toggle-tab.active{background:var(--surface);color:var(--primary-deep);font-weight:800;box-shadow:0 2px 6px rgba(80,50,20,.12)}.fchip{flex-shrink:0;padding:8px 15px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:var(--surface);font-size:12.5px;font-weight:700;color:var(--ink-3);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fchip.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:800}.dp-wrap{padding:0 0 4px}.dp-month-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding:0 16px}.dp-month-center{justify-content:center}.dp-weeks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain}.dp-weeks::-webkit-scrollbar{display:none}.dp-week-page{flex:0 0 100%;display:grid;grid-template-columns:repeat(7,1fr);scroll-snap-align:start;scroll-snap-stop:always;padding:0 16px}.dp-dot{width:5px;height:5px;border-radius:50%;background:var(--primary);margin-top:2px}.dp-arrow{width:28px;height:28px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background .1s}.dp-arrow:active{background:var(--bg-alt)}.dp-day-labels{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:2px;padding:0 16px}.dp-day-label{text-align:center;font-size:11px;font-weight:600;color:var(--ink-3);padding:2px 0}.dp-swipe{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:pan-y;cursor:grab}.dp-swipe:active{cursor:grabbing}.dp-track{display:flex;will-change:transform}.dp-week{display:grid;grid-template-columns:repeat(7,1fr);flex-shrink:0;width:100%}.dp-cell{display:flex;flex-direction:column;align-items:center;padding:2px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dp-cell:active .dp-circle{transform:scale(.85)}.dp-circle{width:36px;height:36px;justify-content:center;border-radius:50%;font-weight:500;transition:all .15s}.dp-circle,.search-bar{display:flex;align-items:center;font-size:14px}.search-bar{gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:10px 16px;color:var(--ink-3)}.form-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.form-field{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.form-value{color:var(--ink)}.form-ph,.form-value{font-size:14px;font-weight:500}.form-ph{color:var(--ink-3)}.compose-type-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:600;background:var(--surface);color:var(--ink-2);border:1.5px solid var(--line);cursor:pointer;white-space:nowrap;transition:all .12s}.compose-type-pill.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.compose-privacy-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:600;background:var(--bg-alt);color:var(--ink-2);cursor:pointer;transition:all .12s}.compose-textarea{width:100%;border:none;outline:none;background:transparent;font-family:var(--sans);font-size:15px;color:var(--ink);line-height:1.6;resize:none;min-height:100px}.compose-textarea::-moz-placeholder{color:var(--ink-3)}.compose-textarea::placeholder{color:var(--ink-3)}.loc-suggestion{padding:11px 14px;font-size:14px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line);-webkit-tap-highlight-color:transparent;transition:background .1s}.loc-suggestion:last-child{border-bottom:none}.loc-suggestion:active{background:var(--bg-alt)}.stat-card{border-radius:var(--r-md);padding:14px 12px;display:flex;flex-direction:column;gap:2px}.stat-num{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--ink);line-height:1}.profile-stat{flex:1;text-align:center;padding:14px 0}.profile-stat-num{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink)}.profile-stat-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}.detail-hero{height:200px;position:relative;overflow:hidden;flex-shrink:0}.detail-back{position:absolute;top:16px;left:16px;width:36px;height:36px;background:hsla(0,0%,100%,.2);backdrop-filter:blur(8px);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5}.detail-back,.home-tab{cursor:pointer;-webkit-tap-highlight-color:transparent}.home-tab{flex:1;text-align:center;padding:10px 0;font-size:12px;font-weight:600;color:var(--ink-3);border-bottom:2.5px solid transparent;transition:color .15s,border-color .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:1}.home-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.round-card-expand{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.32,.72,0,1);overflow:hidden}.round-card-expand.open{grid-template-rows:1fr}.round-card-expand>*{overflow:hidden;min-height:0}.round-card-chevron{transition:transform .22s}.round-card-chevron.open{transform:rotate(180deg)}.post-text-clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-text{overflow:hidden;max-height:calc(1.6em * 2 + 2px);transition:max-height .32s cubic-bezier(.32,.72,0,1)}.post-text.open{max-height:1200px}.host-section{margin-bottom:20px}.host-toggle-row{display:flex;gap:10px}.host-toggle-btn{flex:1;padding:12px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface);font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;text-align:center;transition:all .15s}.host-toggle-btn.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.host-vselect{display:flex;flex-direction:column;gap:8px}.host-voption{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 16px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface);font-size:15px;font-weight:600;color:var(--ink-2);text-align:left;transition:border-color .15s,background .15s,color .15s}.host-voption.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.host-voption-dot{flex-shrink:0;width:20px;height:20px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.host-voption.active .host-voption-dot{border-color:var(--primary);background:var(--primary)}.host-voption.active .host-voption-dot:after{content:"";width:7px;height:7px;border-radius:50%;background:#fff}.host-stepper{display:inline-flex;align-items:center;gap:2px;border:1.5px solid var(--line-soft);border-radius:var(--r-pill);background:var(--surface);padding:3px}.host-stepper-btn{width:38px;height:34px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;line-height:1;color:var(--ink-2);background:transparent;border:none;border-radius:var(--r-pill);cursor:pointer;transition:background .12s}.host-stepper-btn:not(:disabled):active{background:var(--bg-alt)}.host-stepper-btn:disabled{color:var(--ink-3);opacity:.35;cursor:default}.host-stepper-val{min-width:40px;height:34px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--ink)}.host-stepper--wide{display:flex;width:100%;justify-content:space-between;border-color:var(--line);border-radius:var(--r-md);padding:5px 6px}.host-stepper--wide .host-stepper-btn{width:46px}.host-stepper--wide .host-stepper-val{flex:1;gap:7px;font-size:17px}.host-stepper-unit{font-size:13px;font-weight:600;color:var(--ink-3);letter-spacing:0}.hscroll{display:flex;gap:12px;overflow-x:auto;padding:2px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hscroll::-webkit-scrollbar{display:none}.mod-toast{position:absolute;top:16px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:12px;font-weight:600;padding:8px 18px;border-radius:var(--r-pill);white-space:nowrap;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}.mod-toast.show{opacity:1}.mod-row{display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;-webkit-tap-highlight-color:transparent;border-bottom:1px solid var(--line-soft);transition:background .1s}.mod-row:last-child{border-bottom:none}.mod-row:active{background:var(--bg-alt)}.success-layer{position:absolute;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(26,35,50,0);pointer-events:none;transition:background .2s}.success-layer.show{background:rgba(26,35,50,.32);pointer-events:all}.success-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 34px;min-width:196px;max-width:78%;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-md);transform:scale(.85);opacity:0}.success-layer.show .success-card{animation:successPop .42s cubic-bezier(.32,1.5,.5,1) forwards}.success-badge{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:#e8f5e9;border-radius:50%}.success-badge:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #2e7d32;opacity:0}.success-layer.show .success-badge:after{animation:successRing .7s ease-out .18s forwards}.success-ring{stroke-dasharray:166;stroke-dashoffset:166}.success-layer.show .success-ring{animation:ringDraw .5s cubic-bezier(.32,.72,0,1) .05s forwards}.success-check{stroke-dasharray:40;stroke-dashoffset:40}.success-layer.show .success-check{animation:checkDraw .34s cubic-bezier(.65,0,.45,1) .4s forwards}@keyframes successPop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ringDraw{to{stroke-dashoffset:0}}@keyframes checkDraw{to{stroke-dashoffset:0}}@keyframes successRing{0%{transform:scale(1);opacity:.5}to{transform:scale(1.5);opacity:0}}.app-toast{position:absolute;left:50%;bottom:90px;transform:translate(-50%,14px);max-width:84%;background:var(--ink);color:#fff;font-size:13px;font-weight:600;line-height:1.45;padding:11px 18px;border-radius:var(--r-pill);box-shadow:var(--shadow-md);z-index:300;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.app-toast.show{opacity:1;transform:translate(-50%);pointer-events:auto}.app-toast--error{background:#b23b3b}.leaflet-container{font-family:var(--sans);background:var(--bg-alt)}.leaflet-div-icon{background:transparent;border:none}.map-loading{width:100%;height:100%;background:var(--bg-alt)}.map-pin{width:48px;height:48px;border-radius:15px;border:2.5px solid #fff;box-shadow:0 2px 9px rgba(0,0,0,.32);overflow:hidden;background:var(--primary);display:flex;align-items:center;justify-content:center}.map-pin img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.map-pin--empty{background:var(--primary-soft)}.map-pin__flag{font-size:22px;line-height:1}.map-pin-pick{width:26px;height:26px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--primary);border:2.5px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.35)}.map-userdot{width:16px;height:16px;border-radius:50%;background:#2f6fed;border:3px solid #fff;box-shadow:0 0 0 2px rgba(47,111,237,.35),0 1px 4px rgba(0,0,0,.3)}.map-explore{position:absolute;inset:0;overflow:hidden}.map-center-msg{inset:0;z-index:800;padding:32px;text-align:center;color:var(--ink-3);font-size:14px}.map-center-msg,.map-fab{position:absolute;display:flex;align-items:center;justify-content:center}.map-fab{z-index:1000;background:var(--surface);border:1px solid var(--line-soft);box-shadow:0 2px 10px rgba(0,0,0,.16);cursor:pointer;-webkit-tap-highlight-color:transparent}.map-fab--back{top:14px;left:14px;width:40px;height:40px;border-radius:50%}.map-fab--review{top:14px;right:14px;height:36px;padding:0 14px;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:var(--ink-2)}.map-bottombar{position:absolute;left:12px;right:12px;bottom:16px;z-index:1000;display:flex;align-items:center;gap:10px}.map-bar-pill{flex:1;border-radius:var(--r-pill);gap:8px;border:1px solid var(--line-soft);font-size:14px;font-weight:700;color:var(--ink)}.map-bar-pill,.map-bar-round{height:50px;display:flex;align-items:center;justify-content:center;background:var(--surface);box-shadow:0 3px 14px rgba(0,0,0,.16);cursor:pointer;-webkit-tap-highlight-color:transparent}.map-bar-round{width:50px;flex-shrink:0;border-radius:50%;border:1px solid var(--line-soft)}.map-search-panel{position:absolute;top:14px;left:64px;right:14px;z-index:1100}.map-detail-card{position:absolute;left:12px;right:12px;bottom:16px;z-index:1000;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-md);max-height:calc(100dvh - 96px);overflow:hidden auto}.map-results{margin-top:6px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.12);max-height:260px;overflow-y:auto}.map-result,.map-results{background:var(--surface)}.map-result{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;padding:11px 13px;font-size:13.5px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line-soft)}.map-result:last-child{border-bottom:none}.map-result:active{background:var(--bg-alt)}.map-hint{font-size:12.5px;color:var(--ink-3);margin-top:6px}.map-screen{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;background:var(--bg)}.map-form-header{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.map-form-title{flex:1;text-align:center;font-size:17px;font-weight:700;color:var(--ink)}.map-iconbtn{width:36px;height:36px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-alt);cursor:pointer;-webkit-tap-highlight-color:transparent}.map-iconbtn--primary{background:var(--primary)}.map-form-footer{flex-shrink:0;padding:12px 16px 20px;border-top:1px solid var(--line-soft);background:var(--bg)}.map-loc-label{font-size:12.5px;color:var(--ink-2);margin-bottom:10px;line-height:1.4}.map-cta{display:block;width:100%;text-align:center;padding:14px;border-radius:var(--r-lg);background:var(--primary);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.map-pickhint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:1000;padding:7px 14px;border-radius:var(--r-pill);background:rgba(26,35,50,.78);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none}.map-section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.map-photo-grid{display:flex;gap:10px;flex-wrap:wrap}.map-photo{width:96px;height:96px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);position:relative;flex-shrink:0}.map-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.map-photo-x{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:14px}.map-photo--add,.map-photo-x{display:flex;align-items:center;justify-content:center;cursor:pointer}.map-photo--add{flex-direction:column;gap:5px;border:1.5px dashed var(--line);background:var(--bg-alt);color:var(--ink-3);font-size:12px;font-weight:600}.map-name-input{width:100%;padding:14px 16px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:17px;font-weight:600;font-family:var(--sans);outline:none}.map-name-input::-moz-placeholder{color:var(--ink-3);font-weight:500}.map-name-input::placeholder{color:var(--ink-3);font-weight:500}.map-rows{border:1px solid var(--line-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.map-row,.map-rows{background:var(--surface)}.map-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent}.map-row--static{cursor:default;justify-content:space-between;flex-wrap:wrap;row-gap:8px}.map-row-ic{width:32px;height:32px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-alt)}.map-row-label{font-size:14.5px;color:var(--ink-3);flex:1}.map-row-val{font-size:14.5px;font-weight:700}.map-row-chev{font-size:20px;color:var(--ink-3);line-height:1}.map-row-sub{padding:0 16px 12px;margin-top:-4px;font-size:12.5px;color:var(--ink-3);line-height:1.4;background:var(--surface)}.map-seg{display:flex;gap:8px;flex-wrap:wrap}.map-error{font-size:13px;color:var(--danger,#c0392b)}.msg-row{animation:msg-in .34s cubic-bezier(.22,.7,.15,1) both}.msg-row.own{animation-name:msg-in-own}@keyframes msg-in{0%{opacity:0;transform:translate3d(-8px,12px,0) scale(.94)}to{opacity:1;transform:none}}@keyframes msg-in-own{0%{opacity:0;transform:translate3d(8px,12px,0) scale(.94)}to{opacity:1;transform:none}}.thread-in{animation:thread-in .3s ease both}@keyframes thread-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.msg-picker-backdrop{animation:picker-fade .2s ease both}.msg-picker-sheet{animation:picker-up .34s cubic-bezier(.32,.72,0,1) both}@keyframes picker-fade{0%{opacity:0}to{opacity:1}}@keyframes picker-up{0%{opacity:0;transform:translateY(44px)}to{opacity:1;transform:none}}.send-btn{transition:background .18s ease,transform .22s cubic-bezier(.34,1.56,.64,1)}