    :root {
      --text: rgba(255, 255, 255, 0.98);
      --text-2: rgba(255, 255, 255, 0.68);
      --text-3: rgba(255, 255, 255, 0.42);
      --text-4: rgba(255, 255, 255, 0.28);

      --line: rgba(255, 255, 255, 0.08);
      --line-2: rgba(255, 255, 255, 0.14);

      --accent-green: rgba(133, 232, 177, 0.95);
      --accent-green-soft: rgba(133, 232, 177, 0.16);
      --accent-blue: rgba(140, 168, 255, 0.92);
      --accent-blue-soft: rgba(140, 168, 255, 0.16);
      --accent-purple: rgba(196, 156, 255, 0.92);
      --accent-orange: rgba(255, 186, 120, 0.92);

      --shadow-xl: 0 32px 120px rgba(0, 0, 0, 0.52);
      --shadow-lg: 0 18px 52px rgba(0, 0, 0, 0.36);

      --radius-xl: 34px;
      --radius-md: 18px;
      --radius-sm: 12px;
      --radius-pill: 999px;
    }
    .ui {
      position: relative;
      overflow: hidden;
      border-radius: 18px;
      border: 1px solid var(--line);
      background: linear-gradient(180deg, rgba(21,21,23,0.98), rgba(13,13,15,1));
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.03), var(--shadow-lg);
      width: 100%;
    }

    /* Lucide 图标基础样式 */
    .lucide {
      width: 16px;
      height: 16px;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      fill: none;
      flex-shrink: 0;
    }

    /* ============================================
       卡片 1 · 说出目标
       ============================================ */
    .voice-ui {
      height: 176px;
      padding: 14px 16px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      background:
        radial-gradient(circle at 15% 100%, rgba(140,168,255,0.06), transparent 55%),
        linear-gradient(180deg, rgba(23,23,26,0.98), rgba(13,13,15,1));
    }

    .voice-input {
      border: 1px solid rgba(255,255,255,0.09);
      background: rgba(255,255,255,0.02);
      border-radius: 12px;
      padding: 10px 12px;
      font-size: 12px;
      color: var(--text);
      line-height: 1.5;
    }

    .voice-input .prompt-tag {
      color: var(--accent-blue);
      font-weight: 600;
    }

    .voice-cursor {
      display: inline-block;
      width: 1.5px;
      height: 12px;
      background: rgba(255,255,255,0.9);
      margin-left: 2px;
      vertical-align: middle;
      animation: blink 1s step-end infinite;
    }

    @keyframes blink { 50% { opacity: 0; } }

    .voice-parse-label {
      font-size: 10px;
      color: var(--text-3);
      letter-spacing: 0.02em;
    }

    .voice-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }

    .voice-chip {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      height: 24px;
      padding: 0 10px;
      border-radius: var(--radius-pill);
      border: 1px solid rgba(255,255,255,0.09);
      background: rgba(255,255,255,0.03);
      color: var(--text-2);
      font-size: 10px;
    }

    .voice-chip::before {
      content: "";
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--accent-blue);
    }

    .voice-chip.done {
      border-color: rgba(133,232,177,0.22);
      background: rgba(133,232,177,0.08);
      color: var(--accent-green);
    }

    .voice-chip.done::before { background: var(--accent-green); }

    /* ============================================
       卡片 2 · 组织伙伴
       ============================================ */
    .orch-ui {
      height: 176px;
      padding: 14px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .orch-main {
      align-self: center;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      height: 30px;
      padding: 0 14px;
      border-radius: var(--radius-pill);
      border: 1px solid rgba(255,255,255,0.14);
      background: linear-gradient(180deg, rgba(38,38,44,0.98), rgba(24,24,28,1));
      font-size: 12px;
      font-weight: 600;
      color: var(--text);
    }

    .orch-main-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--accent-green);
      box-shadow: 0 0 8px rgba(133,232,177,0.4);
    }

    .orch-branch {
      position: relative;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      padding-top: 10px;
    }

    .orch-branch::before {
      content: "";
      position: absolute;
      top: -2px;
      left: 16.67%;
      right: 16.67%;
      height: 1px;
      background: linear-gradient(90deg,
        transparent,
        rgba(255,255,255,0.16) 20%,
        rgba(255,255,255,0.2) 50%,
        rgba(255,255,255,0.16) 80%,
        transparent);
    }

    .orch-node {
      position: relative;
      padding: 8px;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,0.08);
      background: rgba(255,255,255,0.02);
      display: flex;
      align-items: center;
      gap: 7px;
    }

    .orch-node::before {
      content: "";
      position: absolute;
      top: -8px;
      left: 50%;
      width: 1px;
      height: 8px;
      transform: translateX(-50%);
      background: rgba(255,255,255,0.16);
    }

    .orch-avatar {
      width: 22px;
      height: 22px;
      border-radius: 6px;
      display: grid;
      place-items: center;
      font-size: 10px;
      font-weight: 700;
      color: #fff;
      flex: 0 0 auto;
    }

    .orch-avatar.design { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
    .orch-avatar.dev { background: linear-gradient(135deg, #6ee7b7, #10b981); }
    .orch-avatar.gtm { background: linear-gradient(135deg, #fcd34d, #f59e0b); }

    .orch-node-info { min-width: 0; flex: 1; }

    .orch-node-name {
      font-size: 11px;
      font-weight: 600;
      color: var(--text);
      line-height: 1.1;
    }

    .orch-node-role {
      font-size: 9px;
      color: var(--text-3);
      margin-top: 2px;
      line-height: 1;
    }

    .orch-node.active {
      border-color: rgba(133,232,177,0.22);
      background: linear-gradient(180deg, rgba(22,32,26,0.95), rgba(14,20,17,1));
    }

    .orch-status {
      margin-top: 10px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 10px;
      color: var(--text-3);
    }

    .orch-status .live {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: var(--accent-green);
    }

    .orch-status .live-dot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--accent-green);
      animation: pulse 1.6s ease-in-out infinite;
    }

    @keyframes pulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50% { opacity: 0.4; transform: scale(1.4); }
    }

    /* ============================================
       卡片 3 · 成果进项目
       ============================================ */
    .project-ui {
      height: 176px;
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .project-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 4px 4px;
      font-size: 10px;
      color: var(--text-3);
    }

    .project-header .count {
      color: var(--text-2);
      font-weight: 600;
    }

    .project-list {
      display: flex;
      flex-direction: column;
      gap: 6px;
      flex: 1;
    }

    .project-file {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 10px;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,0.06);
      background: rgba(255,255,255,0.02);
      font-size: 11px;
      color: var(--text-2);
    }

    .project-file .file-icon {
      width: 22px;
      height: 22px;
      border-radius: 5px;
      display: grid;
      place-items: center;
      font-size: 8px;
      font-weight: 700;
      color: #fff;
      flex: 0 0 auto;
      letter-spacing: 0.02em;
    }

    .file-icon.pdf { background: linear-gradient(135deg, #f87171, #ef4444); }
    .file-icon.xlsx { background: linear-gradient(135deg, #6ee7b7, #10b981); }
    .file-icon.pptx { background: linear-gradient(135deg, #fbbf24, #f97316); }

    .project-file-name {
      flex: 1;
      min-width: 0;
      color: var(--text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .project-file-meta {
      font-size: 10px;
      color: var(--text-3);
      flex: 0 0 auto;
    }

    .project-file.new {
      border-color: rgba(133,232,177,0.22);
      background: linear-gradient(90deg, rgba(20,28,24,0.9), rgba(14,18,16,1));
    }

    .project-file.new .project-file-meta {
      color: var(--accent-green);
      font-weight: 600;
    }

    /* ============================================
       卡片 4 · 云端不间断
       ============================================ */
    .cloud-ui {
      height: 176px;
      padding: 14px 16px;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 16px;
      align-items: center;
      background:
        radial-gradient(circle at 22% 50%, rgba(133,232,177,0.06), transparent 55%),
        linear-gradient(180deg, rgba(23,23,26,0.98), rgba(13,13,15,1));
    }

    .cloud-hero {
      position: relative;
      width: 118px;
      height: 118px;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
    }

    .cloud-ring {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      transform: rotate(-90deg);
    }

    .cloud-ring-track {
      fill: none;
      stroke: rgba(255,255,255,0.06);
      stroke-width: 4;
    }

    .cloud-ring-fill {
      fill: none;
      stroke: var(--accent-green);
      stroke-width: 4;
      stroke-linecap: round;
      stroke-dasharray: 326.7;
      stroke-dashoffset: 104.5;
      filter: drop-shadow(0 0 6px rgba(133,232,177,0.35));
      animation: cloud-breathe 2.4s ease-in-out infinite;
    }

    @keyframes cloud-breathe {
      0%, 100% { opacity: 0.75; }
      50% { opacity: 1; }
    }

    .cloud-num {
      position: relative;
      font-size: 34px;
      font-weight: 800;
      letter-spacing: -0.05em;
      color: var(--text);
      line-height: 1;
      display: flex;
      align-items: baseline;
      gap: 1px;
    }

    .cloud-num .unit {
      font-size: 15px;
      font-weight: 600;
      color: rgba(255,255,255,0.5);
    }

    .cloud-info {
      display: flex;
      flex-direction: column;
      gap: 8px;
      min-width: 0;
    }

    .cloud-task {
      font-size: 12px;
      font-weight: 640;
      color: var(--text);
    }

    .cloud-task-meta {
      font-size: 10px;
      color: var(--text-3);
    }

    .cloud-status {
      display: grid;
      gap: 6px;
      margin-top: 4px;
    }

    .cloud-status-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 26px;
      padding: 0 10px;
      border-radius: 8px;
      font-size: 10px;
      border: 1px solid rgba(255,255,255,0.06);
      background: rgba(255,255,255,0.02);
    }

    .cloud-status-label {
      display: flex;
      align-items: center;
      gap: 7px;
      color: var(--text-2);
    }

    .cloud-status-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: rgba(255,255,255,0.25);
    }

    .cloud-status-value {
      font-weight: 600;
      color: var(--text-3);
    }

    .cloud-status-row.active {
      border-color: rgba(133,232,177,0.2);
      background: linear-gradient(90deg, rgba(20,28,24,0.9), rgba(14,18,16,1));
    }

    .cloud-status-row.active .cloud-status-dot {
      background: var(--accent-green);
      box-shadow: 0 0 8px rgba(133,232,177,0.5);
      animation: cloud-pulse 1.6s ease-in-out infinite;
    }

    .cloud-status-row.active .cloud-status-value {
      color: var(--accent-green);
    }

    @keyframes cloud-pulse {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.25); opacity: 0.7; }
    }

    /* ============================================
       卡片 5 · 回来接着做（重写：修复布局 bug）
       ============================================ */
    .device-ui {
      height: 176px;
      padding: 14px 18px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 12px;
    }

    /* 顶部：设备时间线 */
    .device-timeline {
      display: grid;
      grid-template-columns: 44px 1fr 44px;
      align-items: center;
      gap: 12px;
    }

    .device-icon {
      width: 44px;
      height: 44px;
      border-radius: 11px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,0.1);
      background: rgba(255,255,255,0.03);
      color: var(--text-3);
    }

    .device-icon.active {
      border-color: rgba(133,232,177,0.32);
      background: linear-gradient(180deg, rgba(20,28,24,0.95), rgba(14,18,16,1));
      box-shadow: 0 0 0 3px rgba(133,232,177,0.08);
      color: var(--accent-green);
    }

    .device-icon .lucide {
      width: 20px;
      height: 20px;
    }

    /* 中间连接线 + label */
    .device-bridge {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      min-width: 0;
    }

    .device-bridge-label {
      font-size: 10px;
      color: var(--accent-green);
      display: inline-flex;
      align-items: center;
      gap: 4px;
      line-height: 1;
    }

    .device-bridge-label .lucide {
      width: 10px;
      height: 10px;
    }

    .device-bridge-line {
      position: relative;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg,
        rgba(255,255,255,0.1),
        rgba(133,232,177,0.5) 50%,
        rgba(133,232,177,0.2));
    }

    .device-bridge-line::after {
      content: "";
      position: absolute;
      right: -1px;
      top: -3px;
      width: 6px;
      height: 6px;
      border-top: 1.2px solid var(--accent-green);
      border-right: 1.2px solid var(--accent-green);
      transform: rotate(45deg);
    }

    /* 底部：进度条卡 */
    .device-progress {
      background: rgba(255,255,255,0.02);
      border: 1px solid rgba(255,255,255,0.06);
      border-radius: 10px;
      padding: 10px 12px;
    }

    .device-progress-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 11px;
      margin-bottom: 8px;
    }

    .device-progress-title {
      color: var(--text);
      font-weight: 600;
    }

    .device-progress-step {
      color: var(--text-3);
      font-size: 10px;
    }

    .device-progress-bar {
      height: 4px;
      border-radius: 2px;
      display: flex;
      gap: 3px;
    }

    .device-progress-seg {
      flex: 1;
      background: rgba(255,255,255,0.08);
      border-radius: 2px;
    }

    .device-progress-seg.done { background: var(--accent-green); }

    .device-progress-seg.doing {
      background: linear-gradient(90deg, var(--accent-green), rgba(133,232,177,0.3));
      animation: seg-flow 2s ease-in-out infinite;
    }

    @keyframes seg-flow {
      0%, 100% { opacity: 0.7; }
      50% { opacity: 1; }
    }

    /* ============================================
       卡片 6 · 同事接着用
       ============================================ */
    .flow-ui {
      height: 176px;
      padding: 14px 16px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .flow-header {
      font-size: 10px;
      color: var(--text-3);
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .flow-header .flow-tag {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 2px 8px;
      border-radius: var(--radius-pill);
      background: rgba(133,232,177,0.08);
      border: 1px solid rgba(133,232,177,0.2);
      color: var(--accent-green);
      font-size: 9px;
      font-weight: 600;
    }

    .flow-tag-dot {
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--accent-green);
    }

    .flow-chain {
      display: grid;
      grid-template-columns: 1fr auto 1fr auto 1fr;
      align-items: center;
      gap: 4px;
    }

    .flow-node {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 5px;
      padding: 10px 6px;
      border-radius: 10px;
      border: 1px solid rgba(255,255,255,0.08);
      background: rgba(255,255,255,0.02);
      text-align: center;
    }

    .flow-node-icon {
      width: 28px;
      height: 28px;
      border-radius: 7px;
      display: grid;
      place-items: center;
    }

    .flow-node-icon.trigger { background: rgba(140,168,255,0.15); color: var(--accent-blue); }
    .flow-node-icon.action { background: rgba(196,156,255,0.15); color: var(--accent-purple); }
    .flow-node-icon.notify { background: rgba(133,232,177,0.15); color: var(--accent-green); }

    .flow-node-icon .lucide {
      width: 14px;
      height: 14px;
    }

    .flow-node-title {
      font-size: 10px;
      font-weight: 600;
      color: var(--text);
      line-height: 1.1;
    }

    .flow-node-desc {
      font-size: 9px;
      color: var(--text-3);
      line-height: 1;
    }

    .flow-arrow {
      color: var(--text-4);
      display: grid;
      place-items: center;
    }

    .flow-arrow .lucide {
      width: 14px;
      height: 14px;
    }

    .flow-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 10px;
      color: var(--text-3);
    }

    .flow-team {
      display: flex;
      align-items: center;
    }

    .flow-avatar {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 2px solid #0d0d0f;
      margin-left: -6px;
      display: grid;
      place-items: center;
      font-size: 8px;
      font-weight: 700;
      color: #fff;
    }

    .flow-avatar:first-child { margin-left: 0; }
    .flow-avatar.a { background: linear-gradient(135deg, #fda4af, #f472b6); }
    .flow-avatar.b { background: linear-gradient(135deg, #fbbf24, #f97316); }
    .flow-avatar.c { background: linear-gradient(135deg, #a78bfa, #8b5cf6); }
    .flow-avatar.more {
      background: rgba(255,255,255,0.08);
      color: var(--text-2);
    }

    /* 响应式 */
    @media (max-width: 1180px) {
      .section { padding: 42px 20px 20px; }
      .matrix { grid-template-columns: 1fr; }
      .card {
        min-height: auto;
        border-right: none !important;
        border-bottom: 1px solid var(--line) !important;
      }
      .card:last-child { border-bottom: none !important; }
      .card-head { min-height: auto; }
      .hero-title { margin-bottom: 28px; }
    }

    @media (max-width: 640px) {
      body { padding: 16px 10px 28px; }
      .section { border-radius: 24px; padding: 28px 14px 14px; }
      .hero-title h1 { font-size: 34px; }
      .card { padding: 20px 16px 20px; }
      .card-title { font-size: 20px; }

      .cloud-ui {
        grid-template-columns: 1fr;
        justify-items: center;
      }

      .voice-ui, .orch-ui, .project-ui,
      .cloud-ui, .device-ui, .flow-ui {
        height: auto;
        min-height: 176px;
      }
    }
