.custom-species-marker{display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1);animation:marker-float-bbae1c10 3s ease-in-out infinite}.custom-species-marker:hover{transform:scale(1.25)}.marker-emoji{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#ffffffbf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:50%;border:2px solid rgba(0,200,200,.6);box-shadow:0 4px 16px #0006,0 0 12px #1665341f;transition:all .3s ease}.custom-species-marker:hover .marker-emoji{background:#ffffffe6;border-color:#166534e6;box-shadow:0 4px 20px #00c8c859}.marker-dot{width:6px;height:6px;margin-top:2px;border-radius:50%;background:#00c8c8b3;box-shadow:0 0 6px #1665344d}@keyframes marker-float-bbae1c10{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.species-info-window{min-width:200px;max-width:260px;padding:16px 18px 14px;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:14px;border:1px solid rgba(18,53,39,.12);box-shadow:0 8px 32px #00000080,0 0 0 1px #16653410;color:#123527;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;animation:info-pop-in-bbae1c10 .3s cubic-bezier(.34,1.56,.64,1)}@keyframes info-pop-in-bbae1c10{0%{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.info-window-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(18,53,39,.08)}.info-emoji{font-size:26px;line-height:1}.info-name{font-size:15px;font-weight:600;color:#0d2b1d;letter-spacing:.5px}.info-window-desc{font-size:13px;line-height:1.6;color:#123527c7;margin-bottom:14px}.info-window-btn{display:block;width:100%;padding:8px 0;border:1px solid rgba(0,200,200,.4);border-radius:20px;background:#16653414;color:#166534;font-size:13px;font-weight:500;cursor:pointer;transition:all .25s ease;letter-spacing:.5px}.info-window-btn:hover{background:#1665342b;border-color:#166534b3;color:#14532d;box-shadow:0 0 12px #1665341f}.info-window-btn:active{transform:scale(.97)}.observation-dot-wrapper{animation:dot-pulse-7f6990b2 3s ease-in-out infinite}@keyframes dot-pulse-7f6990b2{0%,to{opacity:1}50%{opacity:.7}}.observation-info-window{min-width:180px;max-width:240px;padding:14px 16px 12px;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:12px;border:1px solid rgba(18,53,39,.12);box-shadow:0 8px 32px #00000080,0 0 0 1px #16653410;color:#123527;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;animation:obs-info-pop-in-7f6990b2 .3s cubic-bezier(.34,1.56,.64,1)}@keyframes obs-info-pop-in-7f6990b2{0%{opacity:0;transform:scale(.85) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.obs-info-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(18,53,39,.08)}.obs-species-name{font-size:15px;font-weight:600;color:#0d2b1d;letter-spacing:.5px}.obs-info-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13px;line-height:1.5}.obs-info-row:last-child{margin-bottom:0}.obs-label{color:#12352773;font-weight:400;flex-shrink:0;min-width:32px}.obs-value{color:#123527d1}.obs-value.sci-name{font-style:italic;color:#2f7fd6b3;font-size:12px}.amap-info-content{background:none!important;border:none!important;box-shadow:none!important;padding:0!important}.amap-info-close,.amap-info-sharp{display:none!important}.amap-info{background:none!important;box-shadow:none!important;padding:0!important}.species-panel[data-v-5c02fe11]{position:absolute;top:20px;right:20px;z-index:200;width:340px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;border-radius:16px;background:#ffffffd1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(18,53,39,.10);box-shadow:0 4px 24px rgba(0,0,0,.06);color:#123527;overflow:hidden}.species-panel__scroll[data-v-5c02fe11]{flex:1;overflow-y:auto;padding:20px 18px 12px}.species-panel__scroll[data-v-5c02fe11]::-webkit-scrollbar{width:3px}.species-panel__scroll[data-v-5c02fe11]::-webkit-scrollbar-thumb{background:#12352724;border-radius:2px}.species-header[data-v-5c02fe11]{display:flex;align-items:center;gap:14px;margin-bottom:16px}.species-emoji[data-v-5c02fe11]{font-size:48px;line-height:1;flex-shrink:0}.species-title-group[data-v-5c02fe11]{flex:1;min-width:0}.species-name[data-v-5c02fe11]{font-size:22px;font-weight:700;color:#123527;margin:0;line-height:1.2}.species-scientific[data-v-5c02fe11]{font-size:14px;font-style:italic;opacity:.6;margin:4px 0 0;line-height:1.3}.species-tags[data-v-5c02fe11]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.species-tag[data-v-5c02fe11]{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;line-height:1.4;background:#12352714;border:1px solid rgba(18,53,39,.12);white-space:nowrap}.species-tag--status.status--endangered[data-v-5c02fe11]{background:#ff4d4d33;border-color:#ff4d4d66;color:#ff6b6b}.species-tag--status.status--near-threatened[data-v-5c02fe11]{background:#ffa50033;border-color:#ffa50066;color:#d97706}.species-tag--status.status--least-concern[data-v-5c02fe11]{background:#2ecc7133;border-color:#2ecc7166;color:#16a34a}.species-tag--category[data-v-5c02fe11]{background:#1665341a;border-color:#16653430;color:#166534}.species-tag--habitat[data-v-5c02fe11]{background:#6478dc1f;border-color:#6478dc40;color:#4f5fd0}.species-section[data-v-5c02fe11]{margin-bottom:18px}.section-title[data-v-5c02fe11]{font-size:14px;font-weight:600;color:#4a5568;margin:0 0 10px;letter-spacing:.5px}.species-detail[data-v-5c02fe11]{display:flex;flex-direction:column;gap:10px}.detail-paragraph[data-v-5c02fe11]{font-size:13px;line-height:1.7;color:#4a5568;margin:0;text-align:justify}.fun-facts[data-v-5c02fe11]{display:flex;flex-direction:column;gap:10px}.fun-fact-card[data-v-5c02fe11]{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;background:#1235270d;border:1px solid rgba(18,53,39,.08);transition:background .2s ease}.fun-fact-card[data-v-5c02fe11]:hover{background:#12352717}.fun-fact-num[data-v-5c02fe11]{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#1665341f;color:#166534;font-size:11px;font-weight:700}.fun-fact-text[data-v-5c02fe11]{font-size:13px;line-height:1.6;color:#4a5568;margin:0}.observation-info[data-v-5c02fe11]{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#00c8c80f;border:1px solid rgba(0,200,200,.12)}.obs-summary[data-v-5c02fe11]{font-size:13px;color:#4a5568;margin:0;line-height:1.6}.obs-summary strong[data-v-5c02fe11]{color:#166534;font-weight:700}.obs-latest[data-v-5c02fe11]{font-size:12px;color:#4a556899;margin:0;line-height:1.5}.species-actions[data-v-5c02fe11]{display:flex;gap:8px;padding:12px 18px 16px;border-top:1px solid rgba(18,53,39,.08);flex-shrink:0}.action-btn[data-v-5c02fe11]{flex:1;padding:8px 0;border:1px solid rgba(18,53,39,.12);border-radius:10px;background:#1235270d;color:#4a5568;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center;white-space:nowrap}.action-btn[data-v-5c02fe11]:hover{background:#12352721;border-color:#12352721}.action-btn--primary[data-v-5c02fe11]{background:#1665341a;border-color:#16653430;color:#166534}.action-btn--primary[data-v-5c02fe11]:hover{background:#1665342b}.action-btn--secondary[data-v-5c02fe11]{background:#6478dc1f;border-color:#6478dc40;color:#4f5fd0}.action-btn--secondary[data-v-5c02fe11]:hover{background:#6478dc38}.action-btn--close[data-v-5c02fe11]{flex:.6}.action-btn--close[data-v-5c02fe11]:hover{color:#ff6b6b;border-color:#ff4d4d4d;background:#ff4d4d1a}.panel-slide-enter-active[data-v-5c02fe11]{transition:all .4s cubic-bezier(.16,1,.3,1)}.panel-slide-leave-active[data-v-5c02fe11]{transition:all .3s ease-in}.panel-slide-enter-from[data-v-5c02fe11],.panel-slide-leave-to[data-v-5c02fe11]{transform:translate(50px);opacity:0}.species-quiz[data-v-f19ca45b]{background:#ffffffa6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(18,53,39,.10);border-radius:16px;padding:24px 20px;color:#2a4636;font-family:Segoe UI,system-ui,-apple-system,sans-serif;max-width:480px;margin:0 auto}.star-progress[data-v-f19ca45b]{display:flex;gap:4px;justify-content:center;margin-bottom:16px}.star-progress .star[data-v-f19ca45b]{font-size:20px;color:#1235272b;transition:color .4s ease}.star-progress .star.filled[data-v-f19ca45b]{color:#e6a700;text-shadow:0 0 8px rgba(245,200,66,.5)}.quiz-header[data-v-f19ca45b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;color:#2a4636b3}.quiz-step[data-v-f19ca45b]{font-weight:600;letter-spacing:.5px}.quiz-score-label[data-v-f19ca45b]{background:#12352714;padding:4px 12px;border-radius:20px;font-size:13px}.quiz-question[data-v-f19ca45b]{font-size:18px;font-weight:500;line-height:1.6;margin-bottom:20px;padding:0 4px}.quiz-options[data-v-f19ca45b]{display:flex;flex-direction:column;gap:10px}.quiz-option[data-v-f19ca45b]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#12352714;border:1px solid rgba(18,53,39,.12);border-radius:12px;cursor:pointer;transition:all .25s ease;position:relative;-webkit-user-select:none;user-select:none}.quiz-option[data-v-f19ca45b]:hover:not(.option-disabled){background:#12352724;border-color:#12352721;transform:translateY(-1px)}.quiz-option[data-v-f19ca45b]:active:not(.option-disabled){transform:translateY(0)}.quiz-option.option-disabled[data-v-f19ca45b]{cursor:default}.quiz-option.option-correct[data-v-f19ca45b]{background:#22c55e33;border-color:#22c55e;box-shadow:0 0 12px #22c55e26}.quiz-option.option-wrong[data-v-f19ca45b]{background:#ef444433;border-color:#ef4444;box-shadow:0 0 12px #ef444426}.option-letter[data-v-f19ca45b]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#12352719;font-size:13px;font-weight:700;flex-shrink:0}.option-correct .option-letter[data-v-f19ca45b]{background:#22c55e4d;color:#22c55e}.option-wrong .option-letter[data-v-f19ca45b]{background:#ef44444d;color:#ef4444}.option-text[data-v-f19ca45b]{flex:1;font-size:15px;line-height:1.4}.option-icon[data-v-f19ca45b]{font-size:18px;font-weight:700;flex-shrink:0}.correct-icon[data-v-f19ca45b]{color:#22c55e}.wrong-icon[data-v-f19ca45b]{color:#ef4444}.icon-fade-enter-active[data-v-f19ca45b],.icon-fade-leave-active[data-v-f19ca45b]{transition:opacity .2s ease}.icon-fade-enter-from[data-v-f19ca45b],.icon-fade-leave-to[data-v-f19ca45b]{opacity:0}.result-section[data-v-f19ca45b]{text-align:center;padding:8px 0}.result-emoji[data-v-f19ca45b]{font-size:64px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.result-name[data-v-f19ca45b]{font-size:22px;font-weight:700;margin-bottom:4px}.result-title[data-v-f19ca45b]{font-size:15px;color:#2a463699;margin-bottom:20px}.result-score[data-v-f19ca45b]{font-size:48px;font-weight:300;line-height:1;margin-bottom:16px}.score-num[data-v-f19ca45b]{color:#e6a700;font-weight:700}.score-slash[data-v-f19ca45b]{color:#2a46364d;margin:0 6px}.score-total[data-v-f19ca45b]{color:#2a463680;font-weight:300}.result-stars[data-v-f19ca45b]{display:flex;gap:6px;justify-content:center;margin-bottom:16px}.result-stars .star[data-v-f19ca45b]{font-size:28px;color:#e6a700;text-shadow:0 0 10px rgba(245,200,66,.4);transition:opacity .3s ease}.result-stars .star.dim[data-v-f19ca45b]{color:#12352724;text-shadow:none}.result-comment[data-v-f19ca45b]{font-size:20px;font-weight:600;margin-bottom:24px;letter-spacing:1px}.result-actions[data-v-f19ca45b]{display:flex;gap:12px;justify-content:center}.btn[data-v-f19ca45b]{padding:10px 24px;border:1px solid rgba(18,53,39,.16);border-radius:30px;font-size:15px;font-weight:500;cursor:pointer;transition:all .25s ease;background:#12352714;color:#2a4636;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.5px}.btn[data-v-f19ca45b]:hover{background:#12352729;transform:translateY(-2px)}.btn-retry[data-v-f19ca45b]{border-color:#f5c8424d;color:#e6a700}.btn-retry[data-v-f19ca45b]:hover{background:#f5c8421f;border-color:#f5c84280;box-shadow:0 4px 16px #f5c84226}.btn-back[data-v-f19ca45b]{border-color:#12352724}.btn-back[data-v-f19ca45b]:hover{background:#12352721;border-color:#12352733}.quiz-empty[data-v-f19ca45b]{text-align:center;padding:40px 0;color:#2a463666}.empty-icon[data-v-f19ca45b]{font-size:48px;display:block;margin-bottom:12px}.quiz-empty p[data-v-f19ca45b]{font-size:16px}.message-wall[data-v-2c22b425]{position:absolute;top:20px;right:20px;z-index:200;width:340px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;border-radius:16px;background:#ffffffd1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(18,53,39,.10);box-shadow:0 4px 24px rgba(0,0,0,.06);color:#123527;overflow:hidden}.message-wall__header[data-v-2c22b425]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid rgba(18,53,39,.08);flex-shrink:0}.header-left[data-v-2c22b425]{display:flex;align-items:center;gap:10px;min-width:0}.species-emoji[data-v-2c22b425]{font-size:32px;line-height:1;flex-shrink:0}.header-title-group[data-v-2c22b425]{min-width:0}.header-title[data-v-2c22b425]{font-size:18px;font-weight:700;color:#123527;margin:0;line-height:1.2}.header-subtitle[data-v-2c22b425]{font-size:12px;opacity:.5;margin:2px 0 0;line-height:1.3}.close-btn[data-v-2c22b425]{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(18,53,39,.12);border-radius:50%;background:#1235270d;color:#4a5568;font-size:14px;cursor:pointer;transition:all .2s ease}.close-btn[data-v-2c22b425]:hover{color:#ff6b6b;border-color:#ff4d4d4d;background:#ff4d4d1a}.message-wall__list[data-v-2c22b425]{flex:1;overflow-y:auto;padding:12px 18px;display:flex;flex-direction:column;gap:14px}.message-wall__list[data-v-2c22b425]::-webkit-scrollbar{width:3px}.message-wall__list[data-v-2c22b425]::-webkit-scrollbar-thumb{background:#12352724;border-radius:2px}.empty-state[data-v-2c22b425]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon[data-v-2c22b425]{font-size:48px;margin-bottom:12px;opacity:.6}.empty-text[data-v-2c22b425]{font-size:16px;font-weight:500;color:#12352799;margin:0 0 6px}.empty-hint[data-v-2c22b425]{font-size:13px;color:#12352759;margin:0;line-height:1.5}.message-item[data-v-2c22b425]{display:flex;gap:10px;animation:msg-fade-in-2c22b425 .35s ease both}@keyframes msg-fade-in-2c22b425{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-avatar[data-v-2c22b425]{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#123527;text-shadow:0 1px 2px rgba(0,0,0,.3);-webkit-user-select:none;user-select:none}.msg-body[data-v-2c22b425]{flex:1;min-width:0;padding:8px 12px;border-radius:12px;background:#1235270d;border:1px solid rgba(18,53,39,.08)}.msg-meta[data-v-2c22b425]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.msg-user[data-v-2c22b425]{font-size:13px;font-weight:600;color:#4a5568}.msg-time[data-v-2c22b425]{font-size:11px;color:#12352766;margin-left:auto;white-space:nowrap}.msg-text[data-v-2c22b425]{font-size:13px;line-height:1.6;color:#4a5568;margin:0;word-break:break-word}.message-wall__footer[data-v-2c22b425]{flex-shrink:0;padding:12px 18px 16px;border-top:1px solid rgba(18,53,39,.08);display:flex;flex-direction:column;gap:8px}.footer-row[data-v-2c22b425]{display:flex;align-items:center;gap:8px}.footer-label[data-v-2c22b425]{font-size:14px;flex-shrink:0}.input-name[data-v-2c22b425]{flex:1;padding:6px 10px;border:1px solid rgba(18,53,39,.12);border-radius:8px;background:#12352712;color:#123527;font-size:12px;outline:none;transition:border-color .2s ease}.input-name[data-v-2c22b425]::placeholder{color:#1235274d}.input-name[data-v-2c22b425]:focus{border-color:#1665344d}.input-message[data-v-2c22b425]{flex:1;padding:8px 12px;border:1px solid rgba(18,53,39,.12);border-radius:10px;background:#12352712;color:#123527;font-size:13px;outline:none;transition:border-color .2s ease}.input-message[data-v-2c22b425]::placeholder{color:#1235274d}.input-message[data-v-2c22b425]:focus{border-color:#1665344d}.submit-btn[data-v-2c22b425]{flex-shrink:0;padding:8px 16px;border:1px solid rgba(22,101,52,.3);border-radius:10px;background:#1665341a;color:#166534;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.submit-btn[data-v-2c22b425]:hover:not(:disabled){background:#1665342b;border-color:#00c8c880;box-shadow:0 0 12px #1665341f}.submit-btn[data-v-2c22b425]:disabled{opacity:.35;cursor:not-allowed}.panel-slide-enter-active[data-v-2c22b425]{transition:all .4s cubic-bezier(.16,1,.3,1)}.panel-slide-leave-active[data-v-2c22b425]{transition:all .3s ease-in}.panel-slide-enter-from[data-v-2c22b425],.panel-slide-leave-to[data-v-2c22b425]{transform:translate(50px);opacity:0}.share-panel[data-v-b77def11]{position:absolute;top:20px;right:20px;z-index:210;width:340px;display:flex;flex-direction:column;border-radius:16px;background:#ffffffd9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(18,53,39,.10);box-shadow:0 4px 24px rgba(0,0,0,.06);color:#123527;padding:20px 18px 18px;overflow:hidden}.share-header[data-v-b77def11]{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.share-emoji[data-v-b77def11]{font-size:40px;line-height:1;flex-shrink:0}.share-species-info[data-v-b77def11]{flex:1;min-width:0}.share-species-name[data-v-b77def11]{font-size:20px;font-weight:700;color:#123527;margin:0 0 4px;line-height:1.2}.share-tagline[data-v-b77def11]{font-size:12px;color:#64748b;margin:0;line-height:1.4;opacity:.8}.share-close-btn[data-v-b77def11]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#12352714;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s ease;line-height:1;padding:0}.share-close-btn[data-v-b77def11]:hover{background:#ff4d4d26;color:#ff6b6b}.share-actions[data-v-b77def11]{display:flex;flex-direction:column;gap:10px}.share-btn[data-v-b77def11]{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:1px solid rgba(18,53,39,.10);border-radius:12px;background:#1235270d;color:#4a5568;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.share-btn[data-v-b77def11]:hover{background:#1235271c;border-color:#1235272e;transform:translateY(-1px)}.share-btn[data-v-b77def11]:active{transform:translateY(0)}.share-btn-icon[data-v-b77def11]{font-size:22px;flex-shrink:0;line-height:1}.share-btn-label[data-v-b77def11]{flex:1}.share-btn--link[data-v-b77def11]:hover{background:#16653414;border-color:#16653430;color:#166534}.share-btn--image[data-v-b77def11]:hover{background:#6478dc1a;border-color:#6478dc40;color:#4f5fd0}.share-btn--poster[data-v-b77def11]:hover{background:#ffa5001a;border-color:#ffa50040;color:#d97706}.share-toast[data-v-b77def11]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:6px 18px;border-radius:20px;background:#16653426;border:1px solid rgba(22,101,52,.3);color:#166534;font-size:13px;font-weight:500;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none}.toast-fade-enter-active[data-v-b77def11]{transition:all .25s ease-out}.toast-fade-leave-active[data-v-b77def11]{transition:all .2s ease-in}.toast-fade-enter-from[data-v-b77def11],.toast-fade-leave-to[data-v-b77def11]{opacity:0;transform:translate(-50%) translateY(8px)}.panel-slide-enter-active[data-v-b77def11]{transition:all .4s cubic-bezier(.16,1,.3,1)}.panel-slide-leave-active[data-v-b77def11]{transition:all .3s ease-in}.panel-slide-enter-from[data-v-b77def11],.panel-slide-leave-to[data-v-b77def11]{transform:translate(50px);opacity:0}.photo-panel[data-v-df00f43e]{position:absolute;top:20px;right:20px;z-index:200;width:360px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;border-radius:16px;background:#ffffffd1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(18,53,39,.10);box-shadow:0 4px 24px rgba(0,0,0,.06);color:#123527;overflow:hidden;padding:20px 18px 18px;box-sizing:border-box}.photo-close[data-v-df00f43e]{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(18,53,39,.14);background:#12352712;color:#12352799;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.photo-close[data-v-df00f43e]:hover{background:#12352724;color:#123527}.photo-header[data-v-df00f43e]{display:flex;align-items:center;gap:10px;margin-bottom:4px}.photo-header-icon[data-v-df00f43e]{font-size:28px;line-height:1}.photo-header-title[data-v-df00f43e]{font-size:20px;font-weight:700;color:#123527;margin:0;line-height:1.3}.photo-subtitle[data-v-df00f43e]{font-size:13px;opacity:.55;margin:0 0 16px;line-height:1.4}.photo-dropzone[data-v-df00f43e]{position:relative;border:2px dashed rgba(18,53,39,.16);border-radius:12px;padding:32px 16px;text-align:center;cursor:pointer;transition:all .3s ease;background:#1235270d;margin-bottom:14px;overflow:hidden}.photo-dropzone[data-v-df00f43e]:hover{border-color:#64c8ff4d;background:#12352714}.photo-dropzone--dragover[data-v-df00f43e]{border-color:#2f8fd6;background:#64c8ff1a;box-shadow:inset 0 0 20px #64c8ff14}.photo-dropzone--filled[data-v-df00f43e]{padding:0;border-style:solid;border-color:#12352719;cursor:pointer}.dropzone-icon[data-v-df00f43e]{font-size:42px;line-height:1;margin-bottom:10px;opacity:.6}.dropzone-text[data-v-df00f43e]{font-size:14px;margin:0 0 6px;color:#12352799}.dropzone-link[data-v-df00f43e]{color:#2f8fd6;text-decoration:underline;text-underline-offset:2px}.dropzone-hint[data-v-df00f43e]{font-size:11px;margin:0;opacity:.35}.photo-preview[data-v-df00f43e]{display:block;width:100%;max-height:200px;object-fit:contain;border-radius:10px}.photo-preview-overlay[data-v-df00f43e]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0006;opacity:0;transition:opacity .25s;border-radius:10px}.photo-dropzone--filled:hover .photo-preview-overlay[data-v-df00f43e]{opacity:1}.photo-preview-hint[data-v-df00f43e]{font-size:13px;color:#123527;background:#00000080;padding:6px 14px;border-radius:20px}.photo-input-hidden[data-v-df00f43e]{display:none}.photo-actions[data-v-df00f43e]{display:flex;gap:10px;margin-bottom:4px}.action-btn[data-v-df00f43e]{flex:1;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:1px solid transparent;text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}.action-btn--primary[data-v-df00f43e]{background:#64c8ff26;color:#2f8fd6;border-color:#64c8ff33}.action-btn--primary[data-v-df00f43e]:hover:not(:disabled){background:#64c8ff40;border-color:#64c8ff59}.action-btn--primary[data-v-df00f43e]:disabled{opacity:.5;cursor:not-allowed}.action-btn--secondary[data-v-df00f43e]{background:#12352714;color:#12352799;border-color:#12352719}.action-btn--secondary[data-v-df00f43e]:hover{background:#12352721;color:#123527}.action-btn--full[data-v-df00f43e]{width:100%;margin-top:6px}.spinner[data-v-df00f43e]{display:inline-block;width:14px;height:14px;border:2px solid rgba(100,200,255,.2);border-top-color:#2f8fd6;border-radius:50%;animation:spin-df00f43e .6s linear infinite}@keyframes spin-df00f43e{to{transform:rotate(360deg)}}.photo-result[data-v-df00f43e]{display:flex;flex-direction:column;gap:12px;animation:fadeInUp-df00f43e .4s ease}@keyframes fadeInUp-df00f43e{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.result-header[data-v-df00f43e]{display:flex;justify-content:space-between;align-items:center}.result-badge[data-v-df00f43e]{font-size:13px;font-weight:600;color:#16a34a}.result-confidence[data-v-df00f43e]{font-size:14px;font-weight:700;color:#c98a00;background:#ffd8661a;padding:3px 10px;border-radius:20px;border:1px solid rgba(255,216,102,.15)}.result-species[data-v-df00f43e]{display:flex;align-items:center;gap:12px;background:#1235270d;border-radius:12px;padding:12px 14px;border:1px solid rgba(18,53,39,.08)}.result-emoji[data-v-df00f43e]{font-size:40px;line-height:1;flex-shrink:0}.result-species-info[data-v-df00f43e]{flex:1;min-width:0}.result-name[data-v-df00f43e]{font-size:18px;font-weight:700;color:#123527;margin:0;line-height:1.3}.result-scientific[data-v-df00f43e]{font-size:12px;font-style:italic;opacity:.55;margin:2px 0 0;line-height:1.3}.result-route[data-v-df00f43e]{background:#1235270d;border-radius:10px;padding:12px 14px;border:1px solid rgba(18,53,39,.06)}.route-title[data-v-df00f43e]{font-size:14px;font-weight:600;color:#2f8fd6;margin-bottom:8px}.route-desc[data-v-df00f43e]{font-size:13px;line-height:1.7;margin:0;color:#123527e6;white-space:pre-line}.panel-slide-enter-active[data-v-df00f43e],.panel-slide-leave-active[data-v-df00f43e]{transition:all .35s cubic-bezier(.25,.46,.45,.94)}.panel-slide-enter-from[data-v-df00f43e],.panel-slide-leave-to[data-v-df00f43e]{opacity:0;transform:translate(30px)}.shop-panel[data-v-07007b17]{position:absolute;top:20px;right:20px;z-index:210;width:380px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;border-radius:16px;background:#ffffffd9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(18,53,39,.10);box-shadow:0 4px 24px rgba(0,0,0,.06);color:#123527;overflow:hidden}.shop-header[data-v-07007b17]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid rgba(18,53,39,.08);flex-shrink:0}.shop-title[data-v-07007b17]{font-size:18px;font-weight:700;color:#123527;margin:0;line-height:1}.shop-header-right[data-v-07007b17]{display:flex;align-items:center;gap:8px}.cart-icon-btn[data-v-07007b17]{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#12352714;color:#123527;font-size:18px;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.cart-icon-btn[data-v-07007b17]:hover{background:#1665341a;color:#166534}.cart-icon[data-v-07007b17]{line-height:1}.cart-badge[data-v-07007b17]{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;border-radius:9px;background:#ff6b6b;color:#fff;font-size:11px;font-weight:700;line-height:1;pointer-events:none}.shop-close-btn[data-v-07007b17]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#12352714;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.shop-close-btn[data-v-07007b17]:hover{background:#ff4d4d26;color:#ff6b6b}.product-list[data-v-07007b17]{flex:1;overflow-y:auto;padding:8px 12px 12px;display:flex;flex-direction:column;gap:8px}.product-card[data-v-07007b17]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#1235270d;border:1px solid rgba(18,53,39,.08);transition:all .2s ease}.product-card[data-v-07007b17]:hover{background:#12352717;border-color:#12352724}.product-emoji[data-v-07007b17]{font-size:30px;line-height:1;flex-shrink:0;width:40px;text-align:center}.product-info[data-v-07007b17]{flex:1;min-width:0}.product-name[data-v-07007b17]{font-size:14px;font-weight:600;color:#123527;margin:0 0 2px;line-height:1.3}.product-desc[data-v-07007b17]{font-size:12px;color:#64748b;margin:0;line-height:1.3;opacity:.8}.product-right[data-v-07007b17]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.product-price[data-v-07007b17]{font-size:16px;font-weight:700;color:#166534;line-height:1}.add-btn[data-v-07007b17]{padding:4px 10px;border:1px solid rgba(0,200,200,.25);border-radius:8px;background:#16653410;color:#166534;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-btn[data-v-07007b17]:hover{background:#16653424;border-color:#1665344d;transform:translateY(-1px)}.add-btn[data-v-07007b17]:active{transform:translateY(0)}.cart-overlay[data-v-07007b17]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.cart-panel[data-v-07007b17]{width:360px;max-height:70vh;display:flex;flex-direction:column;border-radius:16px;background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(18,53,39,.12);box-shadow:0 12px 48px #0000008c;color:#123527;overflow:hidden}.cart-header[data-v-07007b17]{display:flex;align-items:center;justify-content:space-between;padding:16px 18px 12px;border-bottom:1px solid rgba(18,53,39,.08);flex-shrink:0}.cart-title[data-v-07007b17]{font-size:16px;font-weight:700;color:#123527;margin:0}.cart-close-btn[data-v-07007b17]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#12352714;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.cart-close-btn[data-v-07007b17]:hover{background:#ff4d4d26;color:#ff6b6b}.cart-empty[data-v-07007b17]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.cart-empty p[data-v-07007b17]{font-size:15px;color:#64748b;margin:0}.cart-empty-hint[data-v-07007b17]{font-size:12px!important;margin-top:6px!important;opacity:.6}.cart-list[data-v-07007b17]{flex:1;overflow-y:auto;padding:8px 14px;display:flex;flex-direction:column;gap:8px}.cart-item[data-v-07007b17]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#1235270d;border:1px solid rgba(18,53,39,.08)}.cart-item-emoji[data-v-07007b17]{font-size:24px;line-height:1;flex-shrink:0}.cart-item-info[data-v-07007b17]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cart-item-name[data-v-07007b17]{font-size:13px;font-weight:600;color:#123527}.cart-item-price[data-v-07007b17]{font-size:11px;color:#64748b}.cart-item-subtotal[data-v-07007b17]{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:13px;font-weight:700;color:#166534}.cart-remove-btn[data-v-07007b17]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ff4d4d1a;color:#ff6b6b;font-size:10px;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.cart-remove-btn[data-v-07007b17]:hover{background:#ff4d4d40}.cart-footer[data-v-07007b17]{padding:12px 14px 16px;border-top:1px solid rgba(18,53,39,.08);flex-shrink:0}.cart-total[data-v-07007b17]{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#123527;margin-bottom:12px}.cart-total-price[data-v-07007b17]{font-size:20px;font-weight:700;color:#166534}.cart-actions[data-v-07007b17]{display:flex;gap:10px}.cart-clear-btn[data-v-07007b17]{flex:1;padding:10px 0;border:1px solid rgba(18,53,39,.14);border-radius:10px;background:#12352712;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.cart-clear-btn[data-v-07007b17]:hover{background:#ff4d4d1f;border-color:#ff4d4d40;color:#ff6b6b}.cart-checkout-btn[data-v-07007b17]{flex:1;padding:10px 0;border:none;border-radius:10px;background:linear-gradient(135deg,#00b894,#00a381);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.cart-checkout-btn[data-v-07007b17]:hover{background:linear-gradient(135deg,#00d2a0,#00b894);transform:translateY(-1px);box-shadow:0 4px 16px #00b8944d}.cart-checkout-btn[data-v-07007b17]:active{transform:translateY(0)}.checkout-toast[data-v-07007b17]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:10px 24px;border-radius:20px;background:#16653426;border:1px solid rgba(22,101,52,.3);color:#166534;font-size:14px;font-weight:600;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:none;z-index:310;text-align:center}.panel-slide-enter-active[data-v-07007b17]{transition:all .4s cubic-bezier(.16,1,.3,1)}.panel-slide-leave-active[data-v-07007b17]{transition:all .3s ease-in}.panel-slide-enter-from[data-v-07007b17],.panel-slide-leave-to[data-v-07007b17]{transform:translate(50px);opacity:0}.cart-fade-enter-active[data-v-07007b17]{transition:all .25s ease-out}.cart-fade-leave-active[data-v-07007b17]{transition:all .2s ease-in}.cart-fade-enter-from[data-v-07007b17],.cart-fade-leave-to[data-v-07007b17]{opacity:0}.cart-fade-enter-from .cart-panel[data-v-07007b17],.cart-fade-leave-to .cart-panel[data-v-07007b17]{transform:scale(.92)}.cart-fade-enter-active .cart-panel[data-v-07007b17]{transition:transform .25s ease-out}.cart-fade-leave-active .cart-panel[data-v-07007b17]{transition:transform .2s ease-in}.toast-fade-enter-active[data-v-07007b17]{transition:all .25s ease-out}.toast-fade-leave-active[data-v-07007b17]{transition:all .2s ease-in}.toast-fade-enter-from[data-v-07007b17],.toast-fade-leave-to[data-v-07007b17]{opacity:0;transform:translate(-50%) translateY(8px)}.product-list[data-v-07007b17]::-webkit-scrollbar,.cart-list[data-v-07007b17]::-webkit-scrollbar{width:4px}.product-list[data-v-07007b17]::-webkit-scrollbar-track,.cart-list[data-v-07007b17]::-webkit-scrollbar-track{background:transparent}.product-list[data-v-07007b17]::-webkit-scrollbar-thumb,.cart-list[data-v-07007b17]::-webkit-scrollbar-thumb{background:#12352724;border-radius:2px}.ai-assistant[data-v-489c0af7]{position:absolute;top:20px;right:20px;z-index:200;width:360px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;border-radius:16px;background:#ffffffd9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(18,53,39,.10);box-shadow:0 4px 24px rgba(0,0,0,.06);color:#123527;overflow:hidden}.ai-header[data-v-489c0af7]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid rgba(18,53,39,.08);flex-shrink:0}.ai-header-left[data-v-489c0af7]{display:flex;align-items:center;gap:8px}.ai-header-icon[data-v-489c0af7]{font-size:20px;line-height:1}.ai-header-title[data-v-489c0af7]{font-size:15px;font-weight:600;letter-spacing:1px;background:linear-gradient(135deg,#166534,#15803d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-close-btn[data-v-489c0af7]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#12352714;color:#64748b;font-size:14px;cursor:pointer;transition:all .2s ease;line-height:1;padding:0}.ai-close-btn[data-v-489c0af7]:hover{background:#ff4d4d26;color:#ff6b6b}.ai-messages[data-v-489c0af7]{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:12px;min-height:0}.ai-message[data-v-489c0af7]{display:flex;align-items:flex-start;gap:8px;max-width:100%}.ai-message--user[data-v-489c0af7]{justify-content:flex-end}.ai-message--ai[data-v-489c0af7]{justify-content:flex-start}.ai-avatar[data-v-489c0af7]{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:18px;line-height:1}.ai-avatar--ai[data-v-489c0af7]{background:#1665341a;border:1px solid rgba(22,101,52,.2)}.ai-avatar--user[data-v-489c0af7]{background:#6478dc1f;border:1px solid rgba(100,120,220,.2)}.ai-bubble[data-v-489c0af7]{max-width:75%;padding:10px 14px;border-radius:14px;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.ai-bubble--ai[data-v-489c0af7]{background:#12352714;border:1px solid rgba(18,53,39,.10);border-top-left-radius:4px;color:#4a5568}.ai-bubble--user[data-v-489c0af7]{background:#00b4c826;border:1px solid rgba(0,180,200,.2);border-top-right-radius:4px;color:#123527}.ai-bubble--thinking[data-v-489c0af7]{display:flex;align-items:center;gap:4px;padding:12px 18px;min-width:56px;justify-content:center}.thinking-dot[data-v-489c0af7]{width:6px;height:6px;border-radius:50%;background:#00c8c880;animation:thinkPulse-489c0af7 1.4s ease-in-out infinite}.thinking-dot[data-v-489c0af7]:nth-child(2){animation-delay:.2s}.thinking-dot[data-v-489c0af7]:nth-child(3){animation-delay:.4s}@keyframes thinkPulse-489c0af7{0%,80%,to{transform:scale(.6);opacity:.3}40%{transform:scale(1);opacity:1}}.ai-input-area[data-v-489c0af7]{display:flex;align-items:center;gap:8px;padding:10px 14px 14px;border-top:1px solid rgba(18,53,39,.08);flex-shrink:0}.ai-input[data-v-489c0af7]{flex:1;height:38px;padding:0 14px;border:1px solid rgba(18,53,39,.14);border-radius:20px;background:#1235270d;color:#123527;font-size:13px;outline:none;transition:border-color .2s ease}.ai-input[data-v-489c0af7]::placeholder{color:#64748b80}.ai-input[data-v-489c0af7]:focus{border-color:#1665344d}.ai-input[data-v-489c0af7]:disabled{opacity:.5;cursor:not-allowed}.ai-send-btn[data-v-489c0af7]{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:linear-gradient(135deg,#00b8b8,#008a8a);color:#fff;font-size:16px;cursor:pointer;transition:all .2s ease;line-height:1}.ai-send-btn[data-v-489c0af7]:hover{background:linear-gradient(135deg,#166534,#14532d);transform:scale(1.05)}.ai-send-btn[data-v-489c0af7]:active{transform:scale(.95)}.ai-send-btn--disabled[data-v-489c0af7]{background:#12352719;color:#64748b4d;cursor:not-allowed;transform:none}.ai-send-btn--disabled[data-v-489c0af7]:hover{background:#12352719;transform:none}.send-icon[data-v-489c0af7]{display:inline-block;transform:translate(1px)}.panel-slide-enter-active[data-v-489c0af7]{transition:all .4s cubic-bezier(.16,1,.3,1)}.panel-slide-leave-active[data-v-489c0af7]{transition:all .3s ease-in}.panel-slide-enter-from[data-v-489c0af7],.panel-slide-leave-to[data-v-489c0af7]{transform:translate(50px);opacity:0}.home[data-v-a26f4f59]{position:relative;width:100%;height:100vh;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:#ffffff}.map-container[data-v-a26f4f59]{width:100%;height:100%;position:relative}.map-overlay[data-v-a26f4f59]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffffd9;color:#123527}.loading-spinner[data-v-a26f4f59]{width:48px;height:48px;border:3px solid rgba(22,101,52,.2);border-top-color:#00c8c8;border-radius:50%;animation:spin-a26f4f59 .9s linear infinite}@keyframes spin-a26f4f59{to{transform:rotate(360deg)}}.loading-text[data-v-a26f4f59]{margin-top:16px;font-size:15px;opacity:.8}.map-error p[data-v-a26f4f59]{margin:4px 0}.error-detail[data-v-a26f4f59]{font-size:13px;opacity:.6;margin-top:8px}.retry-btn[data-v-a26f4f59]{margin-top:16px;padding:8px 24px;border:1px solid rgba(0,200,200,.5);border-radius:20px;background:#16653414;color:#166534;font-size:14px;cursor:pointer;transition:all .2s}.retry-btn[data-v-a26f4f59]:hover{background:#16653430}.retry-btn--sm[data-v-a26f4f59]{padding:4px 16px;font-size:12px;margin-top:8px}.left-nav[data-v-a26f4f59]{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:16px;background:#ffffffbf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(18,53,39,.08)}.nav-brand[data-v-a26f4f59]{font-size:22px;padding:4px 0 8px;margin-bottom:4px;border-bottom:1px solid rgba(18,53,39,.08);cursor:default}.nav-item[data-v-a26f4f59]{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border-radius:12px;cursor:pointer;transition:all .2s;width:52px}.nav-item[data-v-a26f4f59]:hover{background:#12352719}.nav-item--active[data-v-a26f4f59]{background:#1665341f;border:1px solid rgba(22,101,52,.2)}.nav-item--3d[data-v-a26f4f59]{background:linear-gradient(135deg,#16653410,#0064ff14);border:1px solid rgba(0,200,200,.15);margin-bottom:4px;animation:pulse-glow-a26f4f59 3s ease-in-out infinite}@keyframes pulse-glow-a26f4f59{0%,to{box-shadow:0 0 8px #00c8c80d}50%{box-shadow:0 0 20px #1665341f}}.nav-item--3d[data-v-a26f4f59]:hover{background:linear-gradient(135deg,#16653426,#0064ff33)}.nav-item--3d .nav-icon[data-v-a26f4f59]{font-size:16px}.nav-item--3d .nav-label[data-v-a26f4f59]{color:#48dbfb}.nav-icon[data-v-a26f4f59]{font-size:18px;line-height:1}.nav-label[data-v-a26f4f59]{font-size:9px;color:#12352766;white-space:nowrap}.nav-item--active .nav-label[data-v-a26f4f59]{color:#166534}.nav-badge[data-v-a26f4f59]{position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ff6b6b;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.side-panel[data-v-a26f4f59]{position:absolute;left:82px;top:20px;z-index:150;width:360px;animation:panelIn-a26f4f59 .3s cubic-bezier(.16,1,.3,1)}@keyframes panelIn-a26f4f59{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}.weather-card[data-v-a26f4f59]{position:absolute;top:20px;right:20px;z-index:100;width:260px;padding:16px 18px;border-radius:16px;background:#ffffffc7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(18,53,39,.10);box-shadow:0 8px 32px #0006;color:#123527;transition:border-color .4s ease}.weather-card--severe[data-v-a26f4f59]{border-color:#ffa00080;box-shadow:0 8px 32px #ffa00026}.weather-card__header[data-v-a26f4f59]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(18,53,39,.08)}.weather-icon[data-v-a26f4f59]{font-size:18px}.weather-title[data-v-a26f4f59]{font-size:14px;font-weight:600;letter-spacing:1px;background:linear-gradient(135deg,#166534,#15803d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.weather-card__body--loading[data-v-a26f4f59]{padding:4px 0}.skeleton-line[data-v-a26f4f59]{height:14px;background:#12352714;border-radius:4px;margin-bottom:10px;animation:pulse-a26f4f59 1.5s ease-in-out infinite}.skeleton-line--short[data-v-a26f4f59]{width:60%}@keyframes pulse-a26f4f59{0%,to{opacity:.4}50%{opacity:.8}}.weather-card__body--error[data-v-a26f4f59]{text-align:center;padding:12px 0}.error-text[data-v-a26f4f59]{font-size:14px;color:#ff8a80;margin:0}.error-hint[data-v-a26f4f59]{font-size:12px;opacity:.5;margin:4px 0 0}.weather-main[data-v-a26f4f59]{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.weather-emoji[data-v-a26f4f59]{font-size:28px;line-height:1}.weather-desc[data-v-a26f4f59]{font-size:16px;font-weight:500}.weather-temp[data-v-a26f4f59]{font-size:24px;font-weight:700;color:#123527;margin-left:auto}.weather-details[data-v-a26f4f59]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-item[data-v-a26f4f59]{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:8px;background:#1235270d}.detail-label[data-v-a26f4f59]{font-size:11px;opacity:.5;letter-spacing:.5px}.detail-value[data-v-a26f4f59]{font-size:14px;font-weight:500}.severe-warning[data-v-a26f4f59]{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:10px;background:#ffa00026;border:1px solid rgba(255,160,0,.3)}.warn-icon[data-v-a26f4f59]{font-size:18px;flex-shrink:0}.warn-text[data-v-a26f4f59]{font-size:12px;line-height:1.4;color:#ffcc80}.weather-card__footer[data-v-a26f4f59]{margin-top:10px;text-align:right}.update-time[data-v-a26f4f59]{font-size:11px;opacity:.35}.card-slide-enter-active[data-v-a26f4f59]{transition:all .4s cubic-bezier(.16,1,.3,1)}.card-slide-leave-active[data-v-a26f4f59]{transition:all .3s ease-in}.card-slide-enter-from[data-v-a26f4f59],.card-slide-leave-to[data-v-a26f4f59]{transform:translate(40px);opacity:0}.warn-fade-enter-active[data-v-a26f4f59]{transition:all .5s ease-out}.warn-fade-leave-active[data-v-a26f4f59]{transition:all .3s ease-in}.warn-fade-enter-from[data-v-a26f4f59],.warn-fade-leave-to[data-v-a26f4f59]{opacity:0;transform:translateY(-8px)}.bottom-strip[data-v-a26f4f59]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:90;display:flex;gap:6px;padding:8px 14px;border-radius:20px;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(18,53,39,.08);max-width:90vw;overflow-x:auto;scrollbar-width:none}.bottom-strip[data-v-a26f4f59]::-webkit-scrollbar{display:none}.strip-item[data-v-a26f4f59]{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border-radius:10px;cursor:pointer;transition:all .2s;min-width:44px}.strip-item[data-v-a26f4f59]:hover{background:#12352719}.strip-item--active[data-v-a26f4f59]{background:#1665341f;border:1px solid rgba(22,101,52,.2)}.strip-emoji[data-v-a26f4f59]{font-size:20px;line-height:1}.strip-name[data-v-a26f4f59]{font-size:9px;color:#12352766;white-space:nowrap}.legend[data-v-a26f4f59]{position:absolute;bottom:90px;right:20px;z-index:80;padding:12px 16px;border-radius:12px;background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(18,53,39,.08);color:#4a5568}.legend__title[data-v-a26f4f59]{font-size:12px;font-weight:500;margin-bottom:8px}.legend__routes[data-v-a26f4f59]{display:flex;flex-direction:column;gap:4px}.legend__item[data-v-a26f4f59]{display:flex;align-items:center;gap:8px;font-size:12px;cursor:default;padding:2px 0}.legend__dot[data-v-a26f4f59]{display:inline-block;width:14px;height:4px;border-radius:2px;flex-shrink:0}.legend__name[data-v-a26f4f59]{opacity:.8;white-space:nowrap}.legend__divider[data-v-a26f4f59]{height:1px;background:#12352719;margin:6px 0}.legend__obs[data-v-a26f4f59]{display:flex;align-items:center;gap:6px;font-size:11px;padding:2px 0}.legend__obs-icon[data-v-a26f4f59]{font-size:12px}.legend__obs-text[data-v-a26f4f59]{opacity:.7}.legend__hint[data-v-a26f4f59]{font-size:10px;opacity:.4;margin-top:6px;padding-top:4px;border-top:1px solid rgba(18,53,39,.08)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#ffffff;color:#123527;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;height:100%}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#1235272b;border-radius:2px}
