@font-face {
  font-family: 'iconfont';
  src: url('../fonticon/iconfont.woff2?t=1761027170974') format('woff2'),
       url('../fonticon/iconfont.woff?t=1761027170974') format('woff'),
       url('../fonticon/iconfont.ttf?t=1761027170974') format('truetype');
}
.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

  body {
      background-color: #f2f3f5; /* 亮灰色背景 */
      font-family: "Microsoft YaHei", sans-serif;
      margin: 0;
      padding: 0;
      min-height: 100vh;
    }
    
    /* 布局栏布局 */
    .container {
      display: flex;
      max-width: 1400px;
      margin: 0 auto;
      padding: 20px;
      gap: 20px;
    }
    
    .left-column {
      flex: 3; /* 左侧占3份 */
    }
    
    .right-column {
      flex: 1; /* 右侧占1份 */
      background-color: #fff;
      border-radius: 8px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
      padding: 20px;
      height: fit-content;
      position: sticky;
      top: 20px;
    }
    
    /* 导航栏样式 */
    .header {
      background-color: #393D49;
      padding: 15px 20px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.1);
      margin-bottom: 20px;
    }
    
    .logo {
      color: #fff;
      font-size: 22px;
      font-weight: bold;
      display: inline-block;
    }
    
    .logo i {
      margin-right: 10px;
    }
    
    .nav {
      display: inline-block;
      margin-left: 30px;
    }
    
    .nav a {
      color: #fff;
      margin: 0 15px;
      text-decoration: none;
      font-size: 16px;
      transition: color 0.3s;
    }
    
    .nav a:hover {
      color: #1E9FFF;
    }
    
    .user-actions {
      float: right;
      color: #fff;
    }
    
    .user-actions a {
      color: #fff;
      margin-left: 20px;
      text-decoration: none;
    }
    
    /* 搜索框 */
    .search-box {
      margin-bottom: 20px;
      display: flex;
      gap: 10px;
    }
    
    .search-box .layui-input {
      flex: 1;
      height: 42px;
      border-radius: 4px;
    }
    
    .search-box .layui-btn {
      width: 100px;
    }
    
    /* 卡片样式 */
    .weather-card {
      background-color: #fff;
      border-radius: 8px;
      padding: 20px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
      margin-bottom: 20px;
    }
    
    .card-title {
      font-size: 18px;
      font-weight: 600;
      color: #333;
      margin-bottom: 15px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eee;
      display: flex;
      align-items: center;
    }
    
    .card-title i {
      margin-right: 8px;
      color: #1E9FFF;
    }
    
    /* 当前天气 */
    .current-weather {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 30px;
    }
    
    .location-name {
      font-size: 28px;
      font-weight: bold;
      color: #333;
      margin-bottom: 10px;
      display: flex;
      align-items: center;
    }
    
    .location-name i {
      color: #FF5722;
      margin-right: 10px;
    }
    
    .update-time {
      color: #666;
      font-size: 14px;
      margin-bottom: 20px;
    }
    
    .temp-info {
      display: flex;
      align-items: center;
      gap: 20px;
    }
    
    .weather-icon {
      width: 120px;
      height: 120px;
    }
    
    .temp-value {
      font-size: 60px;
      font-weight: bold;
      color: #333;
    }
    
    .weather-desc {
      font-size: 22px;
      color: #666;
      margin-top: 10px;
    }
    
    .weather-details {
      flex: 1;
      min-width: 300px;
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      gap: 15px;
    }
    
    .detail-item {
      display: flex;
      flex-direction: column;
    }
    
    .detail-label {
      font-size: 14px;
      color: #999;
      margin-bottom: 5px;
    }
    
    .detail-value {
      font-size: 16px;
      color: #333;
      display: flex;
      align-items: center;
    }
    
    .detail-value i {
      margin-right: 5px;
      color: #1E9FFF;
    }
    
    /* 小时预报 */
    .hourly-forecast {
      overflow-x: auto;
      padding-bottom: 10px;
    }
    
    .hourly-list {
      display: flex;
      gap: 15px;
      min-width: max-content;
    }
    
    .hour-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 80px;
      padding: 10px;
      border-radius: 6px;
      background-color: #f9f9f9;
    }
    
    .hour-time {
      font-size: 14px;
      color: #666;
      margin-bottom: 10px;
    }
    
    .hour-icon {
      width: 40px;
      height: 40px;
      margin-bottom: 10px;
    }
    
    .hour-temp {
      font-size: 16px;
      color: #333;
      font-weight: 500;
    }
    
    /* 未来预报 */
    .daily-list {
      display: flex;
      flex-wrap: wrap;
      gap: 15px;
    }
    
    .daily-item {
      flex: 1;
      min-width: 120px;
      padding: 15px;
      border-radius: 6px;
      background-color: #f9f9f9;
      text-align: center;
    }
    
    .daily-date {
      font-size: 14px;
      color: #666;
      margin-bottom: 10px;
      font-weight: 500;
    }
    
    .daily-icon {
      width: 50px;
      height: 50px;
      margin: 0 auto 10px;
    }
    
    .daily-weather {
      font-size: 14px;
      color: #666;
      margin-bottom: 10px;
    }
    
    .daily-temp {
      font-size: 14px;
      color: #333;
    }
    
    /* 生活指数 */
    .life-index-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 15px;
    }
    
    .index-item {
      padding: 15px;
      border-radius: 6px;
      background-color: #f9f9f9;
      text-align: center;
      transition: transform 0.3s;
    }
    
    .index-item:hover {
      transform: translateY(-3px);
      box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    }
    
    .index-icon {
      width: 40px;
      height: 40px;
      margin: 0 auto 10px;
    }
    
    .index-name {
      font-size: 16px;
      color: #333;
      margin-bottom: 5px;
      font-weight: 500;
    }
    
    .index-desc {
      font-size: 13px;
      color: #666;
      line-height: 1.5;
    }
    
    /* 右侧城市列表 */
    .city-list-title {
      font-size: 18px;
      font-weight: 600;
      color: #333;
      margin-bottom: 15px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eee;
    }
    
    .city-search-box {
      margin-bottom: 20px;
    }
    
    .city-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display:flex;flex-wrap:wrap
    }
    
    .city-item {
      padding: 12px 10px;
      border-bottom: 1px solid #f2f2f2;
      cursor: pointer;
      transition: background-color 0.3s;
width:40%;
      justify-content: space-between;
      align-items: center;
    }
    
    .city-item:hover {
      background-color: #f9f9f9;
    }
    
    .city-item.active {
      background-color: #e6f7ff;
      color: #1890ff;
    }
    
    .city-name {
      font-size: 16px;
    }
    
    .city-temp {
      font-size: 14px;
      color: #666;
    }
    
    .city-item.active .city-temp {
      color: #1890ff;
    }
    
    .hot-cities, .recent-cities {
      margin-bottom: 25px;
    }
    
    /* 响应式调整 */
    @media (max-width: 992px) {
      .container {
        flex-direction: column;
      }
      
      .right-column {
        position: static;
      }
      
      .life-index-grid {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      }
    }
    
    @media (max-width: 768px) {
      .nav {
        display: none;
      }
      
      .temp-value {
        font-size: 48px;
      }
      
      .weather-icon {
        width: 100px;
        height: 100px;
      }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    