.toast-enter-active[data-v-ebf2206a],.toast-leave-active[data-v-ebf2206a]{transition:all .25s cubic-bezier(.16,1,.3,1)}.toast-enter-from[data-v-ebf2206a],.toast-leave-to[data-v-ebf2206a]{opacity:0;transform:translate(24px)}.toast-move[data-v-ebf2206a]{transition:transform .25s ease}.page-enter-active[data-v-19e99f9a],.page-leave-active[data-v-19e99f9a]{transition:opacity .2s ease,transform .2s ease}.page-enter-from[data-v-19e99f9a]{opacity:0;transform:translateY(8px)}.page-leave-to[data-v-19e99f9a]{opacity:0;transform:translateY(-4px)}:root{--primary: #2EB8A5;--primary-dark: #1E9E8D;--primary-light: #E6F7F4;--accent: #FF9F43;--accent-light: #FFF1E2;--danger: #FF6B6B;--danger-light: #FFF0F0;--success: #4ECB71;--success-light: #EAFaf0;--bg: #F5F7FA;--card: #FFFFFF;--text: #1A1A1A;--text-sub: #666666;--text-aux: #999999;--line: #ECEFF3;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--radius: 12px;--radius-sm: 8px;--shadow: 0 2px 8px rgba(0, 0, 0, .06);--shadow-press: 0 1px 3px rgba(0, 0, 0, .05);--shadow-hover: 0 6px 18px rgba(46, 184, 165, .16);--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#dfeeb0,#e8f4f1);color:var(--text);-webkit-font-smoothing:antialiased}.app-shell{width:100%;max-width:480px;margin:0 auto;height:100%;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden;box-shadow:0 0 40px #00000014}.page-view{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes toastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes pinBounce{0%{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes lineGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes dashFlow{to{stroke-dashoffset:-20}}.fade-up{animation:fadeUp .45s var(--ease-out) both}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;border:none;border-radius:26px;padding:14px 28px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--shadow-hover);transition:transform .15s var(--ease),box-shadow .2s var(--ease)}.btn-primary:hover{box-shadow:0 10px 26px #2eb8a547}.btn-primary:active{transform:scale(.96);box-shadow:var(--shadow-press)}.btn-ghost{background:var(--primary-light);color:var(--primary-dark);border:none;border-radius:18px;padding:8px 16px;font-size:13px;cursor:pointer;font-weight:600;transition:transform .15s var(--ease),background .2s}.btn-ghost:hover{background:#d7f2ec}.btn-ghost:active{transform:scale(.96)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4);margin:0 var(--sp-4) var(--sp-3);transition:transform .15s var(--ease),box-shadow .2s var(--ease)}.card:hover{box-shadow:var(--shadow-hover)}.card:active{transform:scale(.98);box-shadow:var(--shadow-press)}.section-title{font-size:18px;font-weight:600;color:var(--text);margin:var(--sp-5) var(--sp-4) var(--sp-3)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-1) var(--sp-4) var(--sp-4)}.chip{background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:16px;font-size:12.5px;cursor:pointer;color:var(--text);transition:all .15s var(--ease)}.chip:hover{border-color:var(--primary);color:var(--primary-dark);transform:translateY(-1px)}.chip:active{transform:scale(.95)}.toast-wrap{position:absolute;top:var(--sp-4);right:var(--sp-3);z-index:9999;display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none}.toast-item{min-width:160px;max-width:260px;display:flex;align-items:center;gap:var(--sp-2);padding:10px 14px;border-radius:var(--radius-sm);background:#fff;font-size:13px;font-weight:500;color:var(--text);box-shadow:0 6px 20px #00000024;border:1px solid var(--line);animation:toastIn .25s var(--ease-out);pointer-events:auto}.toast-item.toast-leave{animation:toastOut .25s var(--ease) forwards}.toast-item .t-icon{font-size:15px;line-height:1}.toast-item.success{border-color:var(--success)}.toast-item.success .t-icon{color:var(--success)}.toast-item.error{border-color:var(--danger)}.toast-item.error .t-icon{color:var(--danger)}.toast-item.warning{border-color:var(--accent)}.toast-item.warning .t-icon{color:var(--accent)}.toast-item.info{border-color:var(--primary)}.toast-item.info .t-icon{color:var(--primary)}.toast{position:absolute;bottom:90px;left:50%;transform:translate(-50%);background:#2d3436e6;color:#fff;padding:9px 18px;border-radius:18px;font-size:12.5px;z-index:99;white-space:nowrap}.empty-state{text-align:center;padding:var(--sp-6) var(--sp-4);color:var(--text-sub);animation:fadeUp .4s var(--ease-out) both}.empty-state .e-icon{font-size:44px;margin-bottom:var(--sp-2);animation:fadeUp .5s var(--ease-out) both}.empty-state .e-title{font-size:16px;font-weight:600;color:var(--text);margin-bottom:var(--sp-1)}.empty-state .e-tip{font-size:13px;line-height:1.6;color:var(--text-aux)}.empty-state .e-action{margin-top:var(--sp-4)}.empty-hint{text-align:center;color:var(--text-sub);font-size:13px;padding:18px}.skeleton-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4);margin:0 var(--sp-4) var(--sp-3)}.sk-line{height:14px;border-radius:6px;background:linear-gradient(90deg,#eef1f5 25%,#e2e7ed 37%,#eef1f5 63%);background-size:400px 100%;animation:shimmer 1.3s infinite linear;margin-bottom:var(--sp-2)}.sk-line:last-child{margin-bottom:0}.sk-line.title{width:50%;height:18px}.sk-line.short{width:30%}.sk-line.thumb{height:60px;border-radius:10px}.error-fallback{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-6);text-align:center}.error-fallback .e-icon{font-size:52px}.error-fallback .e-title{font-size:18px;font-weight:700;color:var(--text)}.error-fallback .e-tip{font-size:13px;color:var(--text-aux);margin-bottom:var(--sp-3)}.onboard-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#141e208c;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.onboard-card{width:80%;max-width:320px;background:#fff;border-radius:16px;padding:var(--sp-5) var(--sp-4);text-align:center;box-shadow:0 12px 40px #00000040;animation:toastIn .35s var(--ease-out)}.onboard-card .ob-emoji{font-size:40px;margin-bottom:var(--sp-2)}.onboard-card .ob-text{font-size:14px;line-height:1.7;color:var(--text-sub)}.onboard-dots{display:flex;gap:6px;justify-content:center;margin:var(--sp-3) 0}.onboard-dots i{width:6px;height:6px;border-radius:50%;background:var(--line);transition:all .2s}.onboard-dots i.active{background:var(--primary);width:18px;border-radius:3px}.onboard-card .ob-btn{width:100%;border:none;border-radius:22px;padding:11px 0;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s var(--ease)}.onboard-card .ob-btn:active{transform:scale(.96)}.tabbar{height:62px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:stretch;padding-bottom:6px;flex-shrink:0}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;color:var(--text-aux);font-size:11px;text-decoration:none;transition:color .2s var(--ease),transform .15s var(--ease)}.tab .ico{font-size:20px;line-height:1}.tab.active{color:var(--primary-dark);font-weight:600}.tab:active{transform:scale(.92)}.home-hero{padding:46px 22px 24px;background:linear-gradient(160deg,var(--primary) 0%,#4dd0bc 100%);color:#fff;border-radius:0 0 28px 28px}.home-hero h1{font-size:28px;letter-spacing:2px}.home-hero h1 .dot{color:var(--accent)}.home-hero p{margin-top:8px;font-size:13px;opacity:.92}.home-cta{margin:22px auto 8px;display:block;width:calc(100% - 44px)}.trip-card{cursor:pointer}.trip-card .t-top{display:flex;justify-content:space-between;align-items:center}.trip-card .t-name{font-size:16px;font-weight:600}.trip-card .t-badge{background:var(--accent-light);color:#e67e22;font-size:11px;padding:3px 9px;border-radius:10px;font-weight:600}.trip-card .t-meta{margin-top:8px;font-size:12.5px;color:var(--text-aux)}.trip-card .t-stats{margin-top:10px;display:flex;gap:14px;font-size:12px;color:var(--text-aux)}.home-hero{padding:22px 20px 20px;border-radius:0 0 26px 26px}.hh-row{display:flex;justify-content:space-between;align-items:center}.hh-brand{display:flex;align-items:center;gap:12px}.hh-logo{width:46px;height:46px;border-radius:14px;background:#ffffff40;display:flex;align-items:center;justify-content:center;font-size:24px}.hh-name h1{font-size:22px;letter-spacing:1px;line-height:1.1}.hh-name p{font-size:11.5px;opacity:.9;margin-top:2px}.hh-weather{display:flex;align-items:center;gap:4px;background:#ffffff38;padding:6px 12px;border-radius:16px;font-size:13px}.hw-temp{font-weight:700}.hh-greet{margin-top:16px;display:flex;flex-direction:column;gap:3px}.hh-greet .hello{font-size:17px;font-weight:700}.hh-greet .date{font-size:12px;opacity:.88}.ai-plan-card{margin:16px var(--sp-4) 4px;background:linear-gradient(135deg,#ffffff 0%,var(--primary-light) 100%);border:1px solid var(--primary);border-radius:16px;padding:var(--sp-4);display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:0 6px 18px #2eb8a529;transition:transform .15s var(--ease),box-shadow .2s var(--ease)}.ai-plan-card:active{transform:scale(.98);box-shadow:var(--shadow-press)}.ai-left{display:flex;align-items:center;gap:12px}.ai-emoji{width:46px;height:46px;border-radius:14px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px}.ai-title{font-size:16px;font-weight:700;color:var(--primary-dark)}.ai-sub{font-size:12px;color:var(--text-aux);margin-top:2px}.ai-arrow{font-size:26px;color:var(--primary);font-weight:700}.section-row{display:flex;justify-content:space-between;align-items:center;margin:18px var(--sp-4) 10px}.section-row .section-title{margin:0}.section-more{font-size:12.5px;color:var(--text-aux);cursor:pointer}.trip-scroll{display:flex;gap:var(--sp-3);padding:4px var(--sp-4) 6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.trip-scroll::-webkit-scrollbar{display:none}.trip-card{flex:0 0 74%;margin:0}.trip-card .t-badge.ongoing{background:var(--primary-light);color:var(--primary-dark)}.trip-card .t-badge.done{background:#eef1f5;color:var(--text-aux)}.trip-card .t-bottom{margin-top:10px;display:flex;align-items:center;gap:12px}.t-rate{color:#f5a623;font-weight:700;font-size:13px}.t-poi{font-size:12px;color:var(--text-aux)}.city-scroll{display:flex;gap:10px;padding:4px var(--sp-4) 8px;overflow-x:auto;scrollbar-width:none}.city-scroll::-webkit-scrollbar{display:none}.city-chip{flex:0 0 auto;background:#fff;border:1px solid var(--line);padding:9px 18px;border-radius:20px;font-size:13.5px;cursor:pointer;color:var(--text);transition:all .18s var(--ease)}.city-chip:hover{border-color:var(--primary);color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #2eb8a526}.city-chip:active{transform:scale(.94);background:var(--primary-light)}.home-footer-tip{text-align:center;color:var(--text-aux);font-size:12px;padding:18px 0 24px}.chat-header{background:#fff;padding:14px var(--sp-4);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-shrink:0}.chat-header .back{font-size:18px;cursor:pointer;color:var(--text-aux);text-decoration:none}.chat-header h2{font-size:16px;flex:1}.chat-header .online{font-size:11px;color:var(--primary);display:flex;align-items:center;gap:4px}.chat-header .online:before{content:"";width:7px;height:7px;background:var(--primary);border-radius:50%}.chat-header .online.offline{color:var(--text-aux)}.chat-header .online.offline:before{background:var(--text-aux)}.chat-body{flex:1;overflow-y:auto;padding:var(--sp-4) var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3)}.msg{max-width:82%;display:flex;flex-direction:column;gap:4px}.msg .bubble{padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.55;word-break:break-word}.msg.ai{align-self:flex-start;animation:slideInLeft .28s var(--ease-out) both}.msg.ai .bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;box-shadow:var(--shadow)}.msg.user{align-self:flex-end;animation:slideInRight .28s var(--ease-out) both}.msg.user .bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.bubble-text{font-size:13.5px;line-height:1.6;white-space:pre-wrap}.type-cursor{display:inline-block;width:2px;height:14px;background:var(--primary);margin-left:1px;vertical-align:middle;animation:blink .8s infinite}.quick-row{display:flex;flex-wrap:wrap;gap:8px}.quick-q{background:var(--primary-light);color:var(--primary-dark);border:1px dashed var(--primary);padding:8px 13px;border-radius:14px;font-size:12.5px;cursor:pointer;transition:all .15s var(--ease)}.quick-q:hover{background:var(--primary);color:#fff}.quick-q:active{transform:scale(.95)}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing span{width:7px;height:7px;background:var(--primary);border-radius:50%;animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}.typing-wrap{display:flex;align-items:center;gap:10px;padding:4px 2px}.typing-status{font-size:12px;color:var(--text-aux)}.chat-trip{background:linear-gradient(135deg,#fff,var(--primary-light));border:1px solid var(--primary);border-radius:14px;padding:12px;cursor:pointer;margin-top:6px;transition:transform .15s var(--ease)}.chat-trip:hover{transform:translateY(-2px)}.chat-trip .ct-title{font-weight:700;font-size:14px;color:var(--primary-dark)}.chat-trip .ct-meta{font-size:12px;color:var(--text-aux);margin-top:4px}.chat-trip .ct-actions{display:flex;gap:6px;margin-top:8px}.chat-trip .ct-btn{flex:1;padding:6px;border-radius:10px;font-size:12px;cursor:pointer;border:none}.chat-trip .ct-btn.primary{background:var(--primary);color:#fff;font-weight:600}.chat-trip .ct-btn.ghost{background:#fff;color:var(--primary-dark);border:1px solid var(--primary)}.chat-quickbar{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);background:#fff;border-top:1px solid var(--line);flex-shrink:0}.chat-quickbar.show{max-height:64px}.quickbar-inner{display:flex;gap:8px;padding:9px 12px;overflow-x:auto}.qb-btn{flex-shrink:0;display:flex;align-items:center;gap:4px;background:var(--primary-light);color:var(--primary-dark);border:1px solid var(--primary);border-radius:16px;padding:7px 13px;font-size:12.5px;cursor:pointer;white-space:nowrap;transition:transform .12s var(--ease)}.qb-btn:active{transform:scale(.94)}.chat-input-bar{background:#fff;border-top:1px solid var(--line);padding:10px 12px;display:flex;gap:8px;align-items:center;flex-shrink:0}.chat-input-bar input{flex:1;border:1px solid var(--line);border-radius:20px;padding:10px 14px;font-size:14px;outline:none;background:var(--bg);transition:border-color .2s}.chat-input-bar input:focus{border-color:var(--primary)}.send-btn{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:17px;cursor:pointer;flex-shrink:0;transition:transform .15s var(--ease),opacity .2s}.send-btn:disabled{opacity:.5}.send-btn:active{transform:scale(.9)}.chat-page{background:var(--bg)}.online .dot{display:inline-block;width:7px;height:7px;background:var(--primary);border-radius:50%;margin-right:4px}.online.offline .dot{background:var(--text-aux)}.msg-actions{display:flex;gap:8px;margin-top:6px}.ma-btn{background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px 12px;font-size:12px;cursor:pointer;min-height:30px;transition:transform .12s var(--ease)}.ma-btn:active{transform:scale(.94)}.send-btn svg{display:block;margin:0 auto}.trip-header{background:#fff;padding:var(--sp-4);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);flex-shrink:0}.trip-header h2{font-size:18px;font-weight:600}.trip-header .edit-btn{font-size:13px;color:var(--primary-dark);cursor:pointer}.pref-chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px}.pref-chip{background:#fff;border:1px solid var(--primary);color:var(--primary-dark);font-size:11.5px;padding:4px 10px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.pref-chip.mod{border-style:dashed;color:var(--text-aux);border-color:var(--text-aux);cursor:pointer}.chip-x{font-style:normal;font-size:14px;line-height:1;cursor:pointer;color:var(--text-aux);padding:0 2px}.chip-x:active{color:var(--danger)}.conflict-banner{margin:10px 14px;padding:10px 14px;background:#fff4e5;border:1px solid var(--accent);border-radius:12px;font-size:12.5px;color:#b35900;display:flex;align-items:center;gap:8px;animation:fadeUp .35s var(--ease-out) both}.conflict-banner .cb-actions{margin-left:auto;display:flex;gap:6px;flex-shrink:0}.conflict-banner button{border:none;border-radius:8px;padding:4px 10px;font-size:11.5px;cursor:pointer;font-weight:600}.conflict-banner .cb-fix{background:var(--accent);color:#fff}.conflict-banner .cb-close{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer}.conflict-banner .cb-ico{font-size:15px}.conflict-banner .cb-text{flex:1}.day-tabs{display:flex;gap:8px;padding:6px 14px 12px}.day-tab{padding:7px 18px;border-radius:16px;background:#fff;border:1px solid var(--line);font-size:13px;cursor:pointer;color:var(--text-aux);font-weight:600;transition:all .15s var(--ease)}.day-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.day-header{font-size:13px;font-weight:700;color:var(--primary-dark);margin:14px var(--sp-4) 8px;display:flex;align-items:center;gap:6px}.day-header .dh-date{color:var(--text-aux);font-weight:400;font-size:12px}.spot-card{cursor:pointer;position:relative}.spot-card .s-row{display:flex;align-items:center;gap:10px}.spot-card .s-num{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.spot-card .s-icon{width:42px;height:42px;border-radius:12px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.spot-card .s-info{flex:1;min-width:0}.spot-card .s-name{font-size:16px;font-weight:600}.spot-card .s-time{font-size:12px;color:var(--text-sub);margin-top:2px}.spot-card .s-fee{font-size:12.5px;color:var(--accent);font-weight:600}.spot-card .s-chev{margin-left:auto;color:var(--text-aux);font-size:12px;transition:transform .3s var(--ease);flex-shrink:0}.spot-card.open .s-chev{transform:rotate(180deg)}.spot-detail{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}.spot-card.open .spot-detail{max-height:260px}.spot-detail .d-row{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--text-sub);line-height:1.7}.spot-actions{display:flex;gap:8px;margin-top:10px}.spot-actions button{flex:1;padding:7px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:12.5px;cursor:pointer}.spot-actions .del{color:var(--danger)}.spot-actions .edit{color:var(--primary-dark)}.spot-card .del-float{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--danger);color:#fff;border:none;font-size:14px;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;z-index:2}.editing .spot-card .del-float{display:flex}.editing .spot-card{border:1.5px dashed var(--danger);box-shadow:none}.timeline{padding:0 var(--sp-4)}.timeline-item{animation:fadeUp .45s var(--ease-out) both}.poi-leave-active{transition:all .28s var(--ease);overflow:hidden}.poi-leave-to{opacity:0;transform:translate(-28px)}.poi-move{transition:transform .28s var(--ease)}.timeline-conn{display:flex;flex-direction:column;align-items:center;margin:2px 0 2px 33px;color:var(--text-aux);font-size:11px}.timeline-conn .ln{width:2px;min-height:14px;background:var(--line);transform-origin:top;animation:lineGrow .4s var(--ease-out) both}.timeline-conn .tlabel{background:var(--bg);padding:2px 9px;border-radius:9px;display:flex;align-items:center;gap:3px;margin:-4px 0}.add-spot-btn{margin:6px 14px 14px;padding:13px;border:1.5px dashed var(--primary);background:transparent;border-radius:var(--radius);color:var(--primary-dark);font-size:14px;cursor:pointer;font-weight:600;width:calc(100% - 28px);transition:transform .15s var(--ease)}.add-spot-btn:active{transform:scale(.98)}.budget-bar-card .b-top{display:flex;justify-content:space-between;font-size:13px}.budget-bar-card .b-top b{color:var(--primary-dark)}.budget-bar-card .b-stack{margin-top:8px;height:10px;border-radius:5px;overflow:hidden;display:flex;background:var(--line)}.budget-bar-card .b-seg{height:100%;transition:width .8s var(--ease-out)}.budget-bar-card .b-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:11px;color:var(--text-aux)}.budget-bar-card .b-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px}.map-header{background:#fff;padding:12px var(--sp-4);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);flex-shrink:0}.map-header h2{font-size:16px}.map-mode{display:flex;gap:6px}.map-mode button{padding:5px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:12px;cursor:pointer;color:var(--text-aux);transition:all .15s var(--ease)}.map-mode button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.map-area{flex:1;position:relative;margin:10px 12px;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#d8ece7,#c9e5df);min-height:300px}.map-spot-info{margin:0 12px 12px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;animation:fadeUp .35s var(--ease-out) both}.map-spot-info h3{font-size:16px;font-weight:600}.map-spot-info p{font-size:12.5px;color:var(--text-sub);margin-top:5px;line-height:1.6}.map-spot-info .meta{margin-top:8px;font-size:12px;color:var(--primary-dark)}.map-daybar{display:flex;gap:8px;padding:6px 14px 12px}.map-daybar button{flex:1;padding:9px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:13px;cursor:pointer;color:var(--text-aux);font-weight:600;transition:all .15s var(--ease)}.map-daybar button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-aux);font-size:13px;background:#f5f7fa99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ml-spin{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .9s linear infinite}.poi-strip{display:flex;gap:8px;padding:4px 14px 8px;overflow-x:auto;scrollbar-width:none}.poi-strip::-webkit-scrollbar{display:none}.poi-strip-item{flex:0 0 auto;display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:6px 12px;font-size:12.5px;cursor:pointer;min-height:34px;transition:all .15s var(--ease)}.poi-strip-item.active{background:var(--primary);color:#fff;border-color:var(--primary)}.psi-num{width:18px;height:18px;border-radius:50%;background:var(--primary-light);color:var(--primary-dark);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.poi-strip-item.active .psi-num{background:#ffffff4d;color:#fff}.budget-hero{margin:var(--sp-4);background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:var(--radius);padding:var(--sp-4);color:#fff;box-shadow:var(--shadow-hover)}.budget-hero .label{font-size:12.5px;opacity:.9}.budget-hero .total{font-size:28px;font-weight:700;margin:4px 0 12px;font-variant-numeric:tabular-nums}.budget-hero .total small{font-size:14px;font-weight:400;opacity:.85}.budget-progress{height:10px;background:#ffffff4d;border-radius:5px;overflow:hidden}.budget-progress .fill{height:100%;width:0;background:var(--accent);border-radius:5px;transition:width .8s var(--ease-out) .15s}.budget-hero .row{display:flex;justify-content:space-between;margin-top:10px;font-size:12.5px}.budget-hero .row .used{color:#fff}.budget-hero .row .left{color:#ffe2b8}.budget-item{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;transition:background .15s var(--ease)}.budget-item:active{background:var(--bg)}.budget-item .b-icon{width:38px;height:38px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:19px}.budget-item .b-body{flex:1;min-width:0}.budget-item .b-name{font-size:14px;font-weight:600}.budget-item .b-bar{margin-top:5px;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.budget-item .b-bar i{display:block;height:100%;background:var(--primary);border-radius:3px;width:0;transition:width .9s var(--ease-out) .25s}.budget-item .b-detail{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);font-size:12px;color:var(--text-aux);line-height:1.8;white-space:pre-line}.budget-item.expanded .b-detail{max-height:120px}.budget-item .b-amt{font-size:14px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.budget-item .b-chev{transition:transform .3s var(--ease);color:var(--text-aux);font-size:12px}.budget-item.expanded .b-chev{transform:rotate(180deg)}.warn-tip{margin:0 var(--sp-4) var(--sp-4);background:var(--danger-light);color:var(--danger);border-radius:12px;padding:10px 14px;font-size:12.5px;display:flex;gap:8px;align-items:center}.overspend-banner{margin:var(--sp-4) var(--sp-4) 0;background:var(--danger-light);color:var(--danger);border:1px solid var(--danger);border-radius:12px;padding:10px 14px;font-size:12.5px;animation:fadeUp .3s var(--ease-out) both}.budget-hero.danger{background:linear-gradient(135deg,#ff6b6b,#ee5253)}.b-name-row{display:flex;justify-content:space-between;align-items:center}.b-pct{font-size:11.5px;color:var(--text-aux)}.b-detail-box{padding:0 14px 12px 64px;border-top:1px dashed var(--line)}.b-daily{font-size:12px;color:var(--text-aux);line-height:1.9}.safe-tip{margin:0 var(--sp-4) var(--sp-4);background:#eefaf6;color:var(--primary-dark);border-radius:12px;padding:10px 14px;font-size:12.5px;display:flex;gap:8px;align-items:center}.modify-budget-btn{margin:4px var(--sp-4) 18px;padding:13px;border:none;background:var(--primary-light);color:var(--primary-dark);border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;width:calc(100% - 32px);transition:transform .15s var(--ease)}.modify-budget-btn:active{transform:scale(.98)}.me-hero{padding:36px 22px;background:linear-gradient(135deg,var(--primary),#4dd0bc);color:#fff;text-align:center;border-radius:0 0 24px 24px}.avatar{width:64px;height:64px;border-radius:50%;background:#fff;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-size:32px}.me-list{padding:0}.me-row{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer;transition:background .15s var(--ease),transform .15s var(--ease)}.me-row:hover{background:var(--bg)}.me-row:active{transform:scale(.99)}.me-row .arrow{color:var(--text-aux);transition:transform .2s var(--ease)}.me-row:hover .arrow{transform:translate(3px)}.me-hero{padding:30px 22px 26px}.me-head{display:flex;align-items:center;gap:14px}.me-head .avatar{margin:0;width:60px;height:60px;font-size:30px}.me-info{flex:1}.me-name-row{display:flex;align-items:center;gap:8px}.me-name{font-size:18px;font-weight:700}.vip-tag{background:#ffffff47;color:#fff;font-size:10.5px;padding:2px 8px;border-radius:10px;font-weight:600}.me-sig{font-size:12px;opacity:.9;margin-top:4px}.stats-card{margin:-18px var(--sp-4) 0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;padding:16px 0;position:relative}.stat-item{flex:1;text-align:center;border-right:1px solid var(--line)}.stat-item:last-child{border-right:none}.stat-value{font-size:24px;font-weight:700;color:var(--primary-dark);font-variant-numeric:tabular-nums}.stat-label{font-size:11.5px;color:var(--text-aux);margin-top:4px}.me-row-left{display:flex;align-items:center;gap:10px}.me-ico{font-size:17px;width:24px;text-align:center}.me-version{text-align:center;color:var(--text-aux);font-size:11.5px;padding:22px 0 30px}button,.chip,.city-chip,.quick-q,.pref-chip,.day-tab,.me-row,.budget-item,.poi-strip-item{min-height:44px}button{display:flex;align-items:center;justify-content:center}
