.search-bar[data-v-a81155b3]{display:flex;align-items:center;gap:8px;background:#f5f6facc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:12px 16px;box-shadow:0 4px 16px #0000001a;border:1px solid rgba(255,255,255,.3)}.search-input[data-v-a81155b3]{flex:1;border:none;background:transparent;font-size:1rem;outline:none}.search-btn[data-v-a81155b3]{background:#fff;border:none;border-radius:8px;padding:6px 12px;cursor:pointer;font-size:1.1rem;transition:background .2s}.search-btn[data-v-a81155b3]:hover:not(:disabled){background:#f0f0f0}.search-btn[data-v-a81155b3]:disabled{opacity:.5;cursor:not-allowed}.loading-spinner[data-v-a81155b3]{display:inline-block;width:16px;height:16px;border:2px solid #f3f3f3;border-top:2px solid #007bff;border-radius:50%;animation:spin-a81155b3 1s linear infinite}@keyframes spin-a81155b3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.current-weather[data-v-5339538e]{background:#fff;border-radius:12px;padding:32px 24px 0;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;align-items:center;position:relative;min-height:480px;gap:8px}.weather-hero[data-v-5339538e]{margin-bottom:16px}.weather-hero-img[data-v-5339538e]{width:120px;height:120px;object-fit:contain}.current-temp[data-v-5339538e]{font-size:4rem;font-weight:700;color:#2c3e50;margin-bottom:8px}.weather-desc[data-v-5339538e]{font-size:1.2rem;color:#6c757d;margin-bottom:8px}.rain-chance[data-v-5339538e]{font-size:1rem;color:#118ab2;margin-bottom:16px;display:flex;align-items:center;gap:6px}.city-name[data-v-5339538e]{font-size:1.1rem;font-weight:600;color:#222;margin-bottom:16px}.weather-photo[data-v-5339538e]{width:calc(100% - 24px);margin:24px 0 16px;align-self:center;border-radius:20px;overflow:hidden;box-shadow:0 2px 12px #00000014}.weather-photo img[data-v-5339538e]{width:100%;height:140px;object-fit:cover;display:block}.weather-forecast[data-v-7ff2e89d]{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000a;flex:1;display:flex;flex-direction:column}.forecast-header[data-v-7ff2e89d]{margin-bottom:20px;flex-shrink:0}.forecast-title[data-v-7ff2e89d]{font-size:1.5rem;font-weight:600;color:#2c3e50;margin:0}.forecast-container[data-v-7ff2e89d]{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;flex:1;align-content:stretch}.forecast-day[data-v-7ff2e89d]{background:#f8f9fa;border-radius:8px;padding:16px 12px;text-align:center;transition:transform .2s ease;display:flex;flex-direction:column;justify-content:space-between;min-height:140px}.forecast-day[data-v-7ff2e89d]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.day-info[data-v-7ff2e89d]{margin-bottom:8px}.day-name[data-v-7ff2e89d]{font-weight:600;font-size:.9rem;color:#2c3e50}.weather-icon[data-v-7ff2e89d]{margin:8px 0;flex:1;display:flex;align-items:center;justify-content:center}.weather-img[data-v-7ff2e89d]{width:40px;height:40px}.weather-details[data-v-7ff2e89d]{margin-top:8px}.temperature[data-v-7ff2e89d]{display:flex;justify-content:center;gap:8px;font-size:.9rem}.temp-max[data-v-7ff2e89d]{font-weight:600;color:#e74c3c}.temp-min[data-v-7ff2e89d]{font-weight:600;color:#3498db}@media (max-width: 768px){.forecast-container[data-v-7ff2e89d]{grid-template-columns:repeat(5,1fr);gap:8px}.forecast-day[data-v-7ff2e89d]{padding:12px 8px;min-height:120px}.weather-img[data-v-7ff2e89d]{width:32px;height:32px}.temperature[data-v-7ff2e89d]{font-size:.8rem}}.highlights-section[data-v-fb771cdc]{margin-top:0;flex:1;display:flex;flex-direction:column}.section-title[data-v-fb771cdc]{font-size:1.5rem;font-weight:600;color:#2c3e50;margin-bottom:20px;flex-shrink:0}.highlights-grid[data-v-fb771cdc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;flex:1;align-content:start}.highlight-card[data-v-fb771cdc]{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000a;padding:20px 16px 16px;display:flex;flex-direction:column;align-items:flex-start;min-height:100px}.highlight-title[data-v-fb771cdc]{font-size:1rem;color:#888;margin-bottom:12px;font-weight:500}.highlight-value[data-v-fb771cdc]{font-size:2rem;font-weight:700;color:#222;margin-bottom:8px}.highlight-desc[data-v-fb771cdc],.highlight-sun[data-v-fb771cdc]{font-size:.9rem;color:#666}.highlight-sun[data-v-fb771cdc]{display:flex;flex-direction:column;gap:4px}@media (max-width: 768px){.highlights-grid[data-v-fb771cdc]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.highlight-card[data-v-fb771cdc]{padding:16px 12px 12px;min-height:80px}.highlight-value[data-v-fb771cdc]{font-size:1.6rem}}.user-profile[data-v-7e0a9223]{display:flex;align-items:center;gap:20px}.unit-toggle[data-v-7e0a9223]{display:flex;gap:6px;background:#f5f6fa;border-radius:8px;padding:4px 8px}.unit-btn[data-v-7e0a9223]{border:none;background:transparent;font-size:1rem;font-weight:600;color:#888;border-radius:6px;padding:4px 10px;cursor:pointer;transition:background .2s,color .2s}.unit-btn.active[data-v-7e0a9223]{background:#fff;color:#222;box-shadow:0 1px 4px #0000000a}.avatar img[data-v-7e0a9223]{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px #00000014}body,html{height:100%;margin:0;font-family:Inter,Noto Sans TC,sans-serif;background:#f3f4f8}.app-bg{min-height:100vh;background:#f3f4f8;display:flex;align-items:center;justify-content:center}.weather-app-layout{display:flex;width:1200px;min-height:700px;background:transparent;border-radius:36px;box-shadow:0 8px 32px #00000014;overflow:hidden;gap:40px}.sidebar{width:340px;background:#fff;border-radius:36px;box-shadow:0 4px 24px #00000012;padding:40px 32px 32px;display:flex;flex-direction:column;gap:32px;position:relative;min-height:0}.main-content{flex:1;padding:40px 32px 32px;display:flex;flex-direction:column;background:transparent;position:relative;min-width:0}.top-bar{position:absolute;top:32px;right:48px;display:flex;justify-content:flex-end;align-items:center;z-index:2}.main-inner{padding:80px 0 40px;display:flex;flex-direction:column;gap:32px;max-width:100%;margin:0 auto;width:100%}@media (max-width: 1200px){.weather-app-layout{width:100vw;min-width:0;border-radius:0;gap:0}.main-inner{max-width:100vw;padding:80px 0 24px}}@media (max-width: 900px){.weather-app-layout{flex-direction:column;min-height:100vh;width:100vw;border-radius:0;gap:0}.sidebar{width:100%;border-radius:0 0 36px 36px;flex-direction:row;gap:16px;padding:24px 16px;max-height:220px}.main-inner{padding:80px 0 16px}.main-content{padding:0}.top-bar{position:static;margin-bottom:16px;right:0;top:0}}
