/* mood.page.scss */
.mood-journal-v2 {
    --primary: #8A7BEC;
    --secondary: #64C3D3;
    --text: #4A4A6A;
    --bg: #c06c840f;
  
    background: var(--bg);
    padding-bottom: 80px;


    .mood-journal {
      --primary-color: #ff9a9e;
      --secondary-color: #a8edea;
      --text-color: #6c5b7b;
      // 情绪状态指示样式
      .mood-header {
        padding: 20px;
        background: linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
        border-radius: 0 0 30px 30px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    
        .current-status {
          text-align: center;
          color: white;
          
          ion-icon {
            font-size: 48px;
            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
          }
    
          .score {
            font-size: 42px;
            font-weight: bold;
            span {
              font-size: 16px;
              opacity: 0.8;
            }
          }
        }
    
        .emotion-cloud {
          margin-top: 15px;
          display: flex;
          justify-content: center;
          gap: 8px;
          flex-wrap: wrap;
    
          .tag {
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 14px;
            background: rgba(255,255,255,0.2);
            backdrop-filter: blur(4px);
            
            &.happy { background: rgba(255,234,167,0.3); }
            &.calm { background: rgba(168,237,234,0.3); }
            &.anxious { background: rgba(255,154,158,0.3); }
          }
        }
      }
      @keyframes pulse {
        0% { transform: scale(1); }
        50% { transform: scale(1.1); }
        100% { transform: scale(1); }
      }
    }

    // 新型情绪仪表盘
    .emotion-dashboard {
      padding: 20px;
      background: #c06c840f;
      border-radius: 0 0 40px 40px;
      box-shadow: 0 8px 32px rgba(138,123,236,0.1);
  
      /* 环形波浪进度条 */
      .circular-progress {
        position: relative;
        width: 180px;
        height: 180px;
        margin: 0 auto 30px;
  
        .wave-container {
          position: absolute;
          width: 100%;
          height: 100%;
          border-radius: 50%;
          overflow: hidden;
          background: linear-gradient(145deg, #F0F1FF, #FFFFFF);
          box-shadow: 8px 8px 16px #D9DAF0, 
                     -8px -8px 16px #FFFFFF;
  
          .liquid {
            position: absolute;
            bottom: 0;
            width: 100%;
            background: var(--primary);
            animation: wave 8s infinite linear;
            height: calc(var(--progress) * 100%);
            opacity: 0.8;
          }
  
          .glow {
            position: absolute;
            width: 120%;
            height: 120%;
            background: radial-gradient(circle at 50% 0%, 
              rgba(138,123,236,0.3) 0%, 
              transparent 60%);
            filter: blur(20px);
          }
        }
  
        .progress-text {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          text-align: center;
  
          .score {
            font-size: 42px;
            font-weight: 700;
            color: var(--text);
            line-height: 1;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.1);
          }
  
          .label {
            font-size: 14px;
            color: #888;
            margin-top: 4px;
          }
        }
      }
      /* 仪表盘增强样式 */
      .vital-stats {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
        margin-top: 30px;

        .stat-item {
          background: rgba(255,255,255,0.9);
          padding: 15px;
          border-radius: 16px;
          transition: transform 0.3s ease;

          &:hover {
            transform: translateY(-5px);
            box-shadow: 0 6px 20px rgba(138,123,236,0.15);
          }
        }

        .heart-beat {
          width: 30px;
          height: 30px;
          background: url('data:image/svg+xml,<svg ...>心跳SVG代码</svg>');
          animation: beat 1.2s ease-in-out infinite;
        }
      }

      @keyframes beat {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.15); }
      }

      .ripple-background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;

        .ripple {
          position: absolute;
          border: 2px solid rgba(138,123,236,0.3);
          border-radius: 50%;
          animation: ripple 2s ease-out;
        }
      }

      @keyframes ripple {
        from { transform: scale(0); opacity: 0.6; }
        to { transform: scale(3); opacity: 0; }
      }
  
      /* 时间轴可视化 */
      .emotion-timeline {
        display: flex;
        justify-content: space-between;
        padding: 15px 0;
  
        .time-block {
          flex: 1;
          position: relative;
          height: 120px;
  
          .bar {
            position: absolute;
            bottom: 0;
            width: 70%;
            left: 15%;
            background: linear-gradient(to top, var(--primary), var(--secondary));
            height: calc(var(--intensity) * 100%);
            border-radius: 8px 8px 0 0;
            transition: height 0.6s ease;
          }
  
          .time {
            position: absolute;
            bottom: -25px;
            width: 100%;
            text-align: center;
            font-size: 12px;
            color: var(--text);
          }
        }
      }
      /* 时间轴滑动样式 */
      .timeline-scroller {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 20px 0;
        mask: linear-gradient(
          to right, 
          transparent 0%, 
          #000 10% 90%, 
          transparent 100%
        );

        &::-webkit-scrollbar { display: none; }

        .timeline-track {
          display: inline-flex;
          gap: 15px;
          padding: 0 30px;
          transition: transform 0.3s cubic-bezier(0.2, 0, 0.2, 1);
        }

        .time-block {
          flex-shrink: 0;
          width: 80px;
          height: 120px;
          opacity: 0.8;
          transition: opacity 0.3s;

          &:hover {
            opacity: 1;
            transform: scale(1.05);
          }
        }
      }
    }
  
    /* 蜂窝日历 */
    .honeycomb-calendar {
      padding: 10px;
      margin-right: 15px;
      --hex-size: 50px;

      .hex-row {
        display: flex;
        justify-content: center;
        margin-bottom: -3px;

        &:nth-child(even) {
          margin-left: calc(var(--hex-size) * 0.4);
          margin-right: calc(var(--hex-size) * -0.4);
        }
      }

      .hex-cell {
        width: var(--hex-size);
        height: calc(var(--hex-size) * 1.2);
        clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
        margin: 0 2px;
        background: rgba(255,255,255,0.9);
        transition: all 0.3s ease;
        cursor: pointer;
        position: relative;

        .hex-content {
          position: absolute;
          width: 100%;
          height: 100%;
          display: flex;
          align-items: center;
          justify-content: center;

          .date {
            font-size: 16px;
            font-weight: 500;
            color: var(--text);
            z-index: 1;
          }

          .particles {
            position: absolute;
            width: 100%;
            height: 100%;
            background: radial-gradient(circle at center, 
              rgba(138,123,236,0.1) 0%, 
              transparent 60%);
            opacity: 0;
            transition: opacity 0.3s ease;
          }
        }

        &:hover {
          transform: scale(1.15) rotate(15deg);
          z-index: 2;

          .particles {
            opacity: 1;
          }
        }

        /* 情绪状态颜色 */
        &.excellent { background: rgba(100,195,211,0.3); }
        &.good { background: rgba(138,123,236,0.2); }
        &.normal { background: rgba(255,255,255,0.8); }
        &.poor { background: rgba(255,182,193,0.3); }
      }
    }
  
    /* 智能分析卡片 */
    .analysis-card {
      margin: 20px;
      padding: 16px;
      background: rgba(255,255,255,0.95);
      border-radius: 20px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  
      .insight {
        display: flex;
        align-items: center;
        color: var(--text);
        margin-bottom: 8px;
  
        ion-icon {
          color: var(--primary);
          margin-right: 8px;
          font-size: 20px;
        }
      }
  
      .suggestion {
        font-size: 14px;
        color: #666;
        padding-left: 28px;
      }
    }

    // 语音输入按钮
    .voice-btn {
      --background: #ff9a9da2;
      --box-shadow: 0 4px 16px rgba(255,154,158,0.3);
      
      &[class*="recording"] {
        animation: pulse 1.5s infinite;
      }
      // 录音状态指示
      .recording-indicator {
        position: fixed;
        top: 20px;
        right: 20px;
        width: 12px;
        height: 12px;
        background: #ff4757;
        border-radius: 50%;
        animation: pulse 1.5s infinite;
        
        @keyframes pulse {
          0% { transform: scale(0.8); opacity: 0.5; }
          50% { transform: scale(1.2); opacity: 1; }
          100% { transform: scale(0.8); opacity: 0.5; }
        }
      }

    }
  

  }
  
  @keyframes wave {
    0% { clip-path: polygon(0 20%, 100% 15%, 100% 80%, 0 85%); }
    50% { clip-path: polygon(0 25%, 100% 20%, 100% 75%, 0 80%); }
    100% { clip-path: polygon(0 20%, 100% 15%, 100% 80%, 0 85%); }
  }