         /* ================= 电话挂断反馈视觉系统 ================= */
         .scenario-desc { font-family: "Courier New", monospace; font-size: 9px; font-weight: 700; color: #8E8E93; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 10px; border-bottom: 1px dashed rgba(0,0,0,0.1); padding-bottom: 4px; text-align: center;}
         .urgent-courier-card { background: #FAFAFA; border: 1px solid #1C1C1E; border-radius: 2px; padding: 16px; width: 90%; box-shadow: 4px 4px 0 rgba(28,28,30,0.1); position: relative; margin: 10px 0; }
         .urgent-courier-card::before { content: 'INTERCEPTED MESSAGE'; position: absolute; top: -7px; left: 12px; background: #FAFAFA; padding: 0 6px; font-family: "Courier New", monospace; font-size: 8px; font-weight: 800; color: var(--c-black); letter-spacing: 1px; }
         .uc-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,0.08); padding-bottom: 8px;}
         .uc-sender { font-family: "Courier New", monospace; font-size: 10px; font-weight: 700; color: var(--c-gray); letter-spacing: 1px; }
         .uc-timestamp { font-family: "Courier New", monospace; font-size: 10px; font-weight: 600; color: var(--c-black); }
         .uc-body { font-size: 14px; font-weight: 600; color: var(--c-black); line-height: 1.6; }
         .uc-highlight { background: rgba(0,0,0,0.06); padding: 2px 4px; font-family: "Courier New", monospace; font-size: 12px; }
         .override-protocol-card { background: #0A0A0C; border-left: 3px solid #D32F2F; border-radius: 0 4px 4px 0; padding: 12px 16px; width: 95%; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 8px 25px rgba(211, 47, 47, 0.15); animation: red-alert-pulse 2.5s infinite; margin: 10px 0; }
         @keyframes red-alert-pulse { 0%, 100% { border-left-color: #D32F2F; } 50% { border-left-color: #7A1111; } }
         .op-text-wrap { display: flex; flex-direction: column; gap: 4px; }
         .op-title { font-family: "Courier New", monospace; font-size: 11px; font-weight: 800; color: #D32F2F; letter-spacing: 1.5px; }
         .op-sub { font-family: -apple-system, sans-serif; font-size: 10px; font-weight: 500; color: rgba(255,255,255,0.5); }
         .op-icon { color: #D32F2F; opacity: 0.8; }
         .vm-airy-card { background: #FFFFFF; border-radius: 24px; padding: 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.03); border: 0.5px solid rgba(0,0,0,0.04); display: flex; flex-direction: column; gap: 12px; width: 85%; margin: 10px 0;}
         .vm-airy-player { display: flex; align-items: center; gap: 12px; background: #F3F2EF; padding: 6px 12px 6px 6px; border-radius: 100px; }
         .vm-airy-play { width: 34px; height: 34px; background: var(--c-black); color: #FFF; border-radius: 50%; display: flex; justify-content: center; align-items: center; box-shadow: 0 4px 10px rgba(0,0,0,0.15); }
         .vm-airy-play svg { width: 14px; height: 14px; margin-left: 2px; fill: currentColor; }
         .vm-airy-wave { flex: 1; display: flex; align-items: center; gap: 2px; height: 20px; }
         .vw-bar-light { width: 2px; background: var(--c-gray); border-radius: 1px; }
         .vm-airy-time { font-family: "Courier New", monospace; font-size: 10px; font-weight: 700; color: var(--c-gray); }
         .vm-airy-text { font-family: "Georgia", "Times New Roman", serif; font-size: 13px; font-style: italic; color: #4A4642; line-height: 1.5; padding: 0 4px; }
         .concierge-card { background: #FAFAFA; border: 1px solid rgba(0,0,0,0.06); padding: 24px 20px; width: 90%; position: relative; box-shadow: 0 15px 40px rgba(0,0,0,0.04), inset 0 0 0 4px #FFFFFF; display: flex; flex-direction: column; align-items: center; text-align: center; margin: 10px 0; }
         .concierge-icon { color: var(--c-black); margin-bottom: 12px; }
         .concierge-title { font-family: "Didot", serif; font-size: 13px; font-weight: 900; letter-spacing: 3px; color: var(--c-black); margin-bottom: 8px; }
         .concierge-text { font-size: 11px; color: var(--c-gray); line-height: 1.6; font-weight: 500; letter-spacing: 0.5px;}
         .barista-note-wrapper { width: 85%; position: relative; margin: 15px 0 10px; }
         .barista-note { background: #FDFBF7; padding: 20px; box-shadow: 2px 6px 15px rgba(0,0,0,0.04); transform: rotate(-2deg); border-radius: 2px; border: 0.5px solid rgba(0,0,0,0.03); }
         .tape { position: absolute; top: -10px; left: 50%; transform: translateX(-50%) rotate(3deg); width: 45px; height: 18px; background: rgba(255,255,255,0.7); backdrop-filter: blur(4px); box-shadow: 0 1px 3px rgba(0,0,0,0.05); z-index: 2; border-radius: 1px; }
         .note-text { font-family: "Cursive", "楷体", serif; font-size: 16px; color: #2A2A2A; line-height: 1.6; font-weight: 600;}
         /* ================= 全屏来电系统 ================= */
         .full-call-screen { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; background-color: #000; transform: translateY(100%); transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); display: flex; flex-direction: column; color: #FFF; overflow: hidden; }
         .full-call-screen.active { transform: translateY(0); }
         .call-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, #12151C 0%, #0A0A0C 100%); z-index: 0; }
         .call-bg::before { content: ''; position: absolute; top: -10%; left: -20%; width: 300px; height: 300px; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 70%); border-radius: 50%; filter: blur(40px); animation: floatOrb 6s infinite alternate; }
         .noise-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E"); z-index: 1; pointer-events: none; }
         .starfall-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; overflow: hidden; }
         .falling-star { position: absolute; top: -20px; color: #FFF; line-height: 1; text-shadow: 0 0 8px rgba(255,255,255,0.8); animation: fall linear infinite; }
         @keyframes fall { 0% { transform: translateY(-20px) rotate(0deg); } 100% { transform: translateY(100vh) rotate(360deg); } }
         .call-content { position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%; padding: 60px 20px 40px; }
         .call-header { display: flex; flex-direction: column; align-items: center; margin-top: 40px; }
         .call-type { font-family: "Courier New", monospace; font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.4); letter-spacing: 2px; margin-bottom: 12px; text-transform: uppercase;}
         .caller-avatar { width: 80px; height: 80px; border-radius: 50%; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); display: flex; justify-content: center; align-items: center; margin-bottom: 20px; box-shadow: 0 0 30px rgba(255,255,255,0.1); color: #FFF; }
         .caller-avatar svg { width: 36px; height: 36px; stroke-width: 1.5; }
         .caller-name { font-size: 32px; font-weight: 800; letter-spacing: 1px; color: #FFF; margin-bottom: 8px; text-shadow: 0 4px 10px rgba(0,0,0,0.5); }
         .call-status { font-size: 15px; font-weight: 500; color: rgba(255,255,255,0.6); }
         .call-actions-bottom { position: absolute; bottom: 60px; left: 0; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 30px; }
         .main-buttons { display: flex; justify-content: space-around; width: 100%; padding: 0 50px; }
         .btn-call { width: 76px; height: 76px; border-radius: 50%; display: flex; justify-content: center; align-items: center; color: #FFF; cursor: pointer; transition: 0.2s; box-shadow: 0 10px 30px rgba(0,0,0,0.3); border: none; }
         .btn-decline { background: #FF3B30; backdrop-filter: blur(10px); }
         .btn-accept { background: #34C759; backdrop-filter: blur(10px); position: relative; }
         .btn-accept::after, .btn-accept::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; background: rgba(52, 199, 89, 0.4); z-index: -1; animation: pulse-ring 2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite; }
         .btn-accept::before { animation-delay: 0.5s; }
      /* ================= 电话系统专属 CSS ================= */
      .phone-header {
      padding: max(env(safe-area-inset-top), 48px) 24px 10px; display: flex; justify-content: space-between; align-items: flex-end;
      background: rgba(249,248,246,0.85); backdrop-filter: blur(20px); z-index: 10;
      border-bottom: 0.5px solid rgba(0,0,0,0.05); flex-shrink: 0;
      }
      .ph-title { font-family: "Didot", "Times New Roman", serif; font-size: 24px; font-weight: 900; letter-spacing: 2px; color: var(--c-black); transition: 0.3s;}
      .ph-sub { font-family: "Courier New", Courier, monospace; font-size: 9px; color: var(--c-gray-dark); letter-spacing: 1px; margin-bottom: 4px; }
      /* ================= 全新：星星挂坠系统 (深棕高透版) ================= */
      .star-pendants-wrap {
      position: absolute; top: -10px; left: 0; width: 100%; 
      display: flex; justify-content: space-evenly; padding: 0 10px;
      z-index: 99; 
      pointer-events: none; 
      }
      .pendant {
      display: flex; flex-direction: column; align-items: center;
      }
      .p-line {
      width: 2px; 
      background: linear-gradient(to bottom, rgba(62, 39, 35, 0.3), rgba(93, 64, 55, 0.1));
      box-shadow: 1px 0 2px rgba(255,255,255,0.2);
      }
      .p-star {
      width: 28px; height: 28px; 
      margin-top: -4px; 
      position: relative;
      filter: drop-shadow(0 4px 6px rgba(0,0,0,0.03));
      }
      .p-star-glass {
      width: 100%; height: 100%;
      background: rgba(62, 39, 35, 0.08); 
      backdrop-filter: blur(6px); 
      -webkit-backdrop-filter: blur(6px);
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z' stroke='black' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z' stroke='black' stroke-width='3' stroke-linejoin='round' stroke-linecap='round'/%3E%3C/svg%3E");
      -webkit-mask-size: 100% 100%; mask-size: 100% 100%;
      }
      .p-star-outline {
      position: absolute; top: 0; left: 0; width: 100%; height: 100%;
      fill: none; 
      stroke: rgba(78, 52, 46, 0.35); 
      stroke-width: 3; 
      stroke-linejoin: round; stroke-linecap: round;
      }
      .p1 .p-line { height: 20px; }  
      .p2 .p-line { height: 45px; }  
      .p3 .p-line { height: 80px; }
      .p4 .p-line { height: 150px; }
      .p5 .p-line { height: 100px; }
      .p6 .p-line { height: 130px; }
      .p7 .p-line { height: 60px; }
      .phone-view { flex: 1; overflow-y: auto; display: none; padding: 0 24px; animation: fade-in 0.3s cubic-bezier(0.16, 1, 0.3, 1); position: relative; }
      .phone-view.active { display: flex; flex-direction: column; }
      #view-keypad { background-image: linear-gradient(rgba(0,0,0,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,0.02) 1px, transparent 1px); background-size: 20px 20px; }
      .dial-display { height: 240px; display: flex; justify-content: center; align-items: center; flex-direction: column; position: relative; }
      .dial-number-text { font-family: "Courier New", monospace; font-size: 34px; font-weight: 800; color: var(--c-black); letter-spacing: 3px; min-height: 40px;}
      .dial-match-name { font-family: "Didot", "Times New Roman", serif; font-size: 13px; color: var(--c-gray-dark); font-style: italic; margin-top: 8px; opacity: 0; transition: 0.3s; }
      .dial-match-name.show { opacity: 1; }
      .btn-delete { position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--c-gray-dark); cursor: pointer; opacity: 0; pointer-events: none; transition: 0.2s; }
      .btn-delete.show { opacity: 1; pointer-events: auto; }
      .dial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; padding: 0 10px; }
      .dial-key { width: 72px; height: 72px; border-radius: 50%; background: transparent; border: 1px solid transparent; display: flex; flex-direction: column; justify-content: center; align-items: center; cursor: pointer; transition: 0.2s; margin: 0 auto; }
      .dial-key:active { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); transform: scale(0.9); }
      .dk-num { font-size: 28px; font-weight: 300; color: var(--c-black); line-height: 1; }
      .dk-sub { font-family: "Courier New", monospace; font-size: 8px; font-weight: 700; color: var(--c-gray-dark); letter-spacing: 2px; margin-top: 6px; }
      .dial-action-row { display: flex; justify-content: center; align-items: center; margin-top: 35px; }
      .btn-call-green { width: 72px; height: 72px; border-radius: 50%; background: var(--c-black); color: #FFF; display: flex; justify-content: center; align-items: center; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,0.2); transition: 0.2s; border: none; }
      .btn-call-green:active { transform: scale(0.9); }
      .btn-call-green svg { width: 28px; height: 28px; fill: currentColor; }
      /* ================= 2. NETWORK (精修联系人) ================= */
      .contact-group-title { font-family: "Courier New", monospace; font-size: 10px; font-weight: 700; color: var(--c-gray-dark); letter-spacing: 2px; margin: 20px 0 10px 5px; }
      .contact-box { background: var(--c-card); border-radius: 20px; border: 0.5px solid rgba(0,0,0,0.04); box-shadow: 0 8px 25px rgba(0,0,0,0.02); overflow: hidden; margin-bottom: 20px; }
      .contact-item { display: flex; align-items: center; padding: 12px 15px; border-bottom: 0.5px solid rgba(0,0,0,0.03); cursor: pointer; transition: 0.2s; }
      .contact-item:last-child { border-bottom: none; }
      .contact-item:active { background: rgba(0,0,0,0.02); }
      .c-avatar { width: 38px; height: 38px; border-radius: 12px; background: #F2F2F7; border: 0.5px solid rgba(0,0,0,0.05); display: flex; justify-content: center; align-items: center; color: var(--c-gray-dark); flex-shrink: 0; box-shadow: 0 2px 8px rgba(0,0,0,0.04); overflow: hidden; }
      .c-avatar svg { width: 18px; height: 18px; }
      .c-avatar img { width: 100%; height: 100%; object-fit: cover; }
      .c-info { flex: 1; margin-left: 12px; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
      .c-name { font-size: 15px; font-weight: 700; color: var(--c-black); letter-spacing: 0.3px; }
      .c-num { font-family: "Courier New", monospace; font-size: 10px; font-weight: 600; color: var(--c-gray-dark); }
      .c-call-btn { width: 32px; height: 32px; border-radius: 50%; background: rgba(0,0,0,0.04); color: var(--c-black); display: flex; justify-content: center; align-items: center; flex-shrink: 0; }
      .c-call-btn svg { width: 14px; height: 14px; stroke-width: 2.5; }
      /* ================= 3. RECENTS (右滑删除) ================= */
      .swipe-wrapper { position: relative; overflow: hidden; border-bottom: 0.5px solid rgba(0,0,0,0.05); }
      .swipe-delete-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #FF3B30; display: flex; align-items: center; padding-left: 25px; color: white; font-weight: 700; font-size: 13px; letter-spacing: 1px; z-index: 1; }
      .swipe-content { position: relative; background: var(--c-bg); display: flex; justify-content: space-between; align-items: center; padding: 16px 5px; z-index: 2; transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1); cursor: pointer; }
      .swipe-content:active { opacity: 0.7; }
      .log-left { display: flex; align-items: center; gap: 12px; }
      .log-icon { width: 16px; display: flex; justify-content: center; color: var(--c-gray-dark); }
      .log-icon svg { width: 14px; height: 14px; stroke-width: 2.5; }
      .missed .log-name, .missed .log-icon { color: #FF3B30; }
      .log-name { font-size: 15px; font-weight: 800; color: var(--c-black); }
      .log-type { font-family: "Courier New", monospace; font-size: 9px; font-weight: 600; color: var(--c-gray-dark); margin-top: 4px; }
      .log-right { text-align: right; display: flex; align-items: center; gap: 10px; }
      .log-time { font-family: "Courier New", monospace; font-size: 11px; color: var(--c-gray-dark); }
      .log-detail { color: var(--c-black); opacity: 0.3; }
      /* 修复全屏来电头像图片显示 */
      .caller-avatar img { width: 100%; height: 100%; object-fit: cover; }
      .detail-panel { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: var(--c-bg); z-index: 50; transform: translateX(100%); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); display: flex; flex-direction: column; }
      .detail-panel.open { transform: translateX(0); }
      .dp-header { padding: max(env(safe-area-inset-top), 48px) 20px 10px; display: flex; align-items: center; gap: 15px; border-bottom: 0.5px solid rgba(0,0,0,0.05); flex-shrink: 0;}
      .dp-back { width: 32px; height: 32px; display: flex; justify-content: center; align-items: center; cursor: pointer; color: var(--c-black); background: rgba(0,0,0,0.04); border-radius: 50%;}
      .dp-content { flex: 1; overflow-y: auto; padding: 24px; }
      .dp-avatar-box { display: flex; flex-direction: column; align-items: center; margin-bottom: 30px; }
      .dp-avatar { width: 64px; height: 64px; border-radius: 16px; background: var(--c-card); box-shadow: 0 10px 30px rgba(0,0,0,0.05); display: flex; justify-content: center; align-items: center; color: var(--c-black); margin-bottom: 12px;}
      .dp-name { font-size: 20px; font-weight: 900; color: var(--c-black); letter-spacing: 1px; }
      .dp-number { font-family: "Courier New", monospace; font-size: 11px; color: var(--c-gray-dark); margin-top: 4px; letter-spacing: 1px; }
      .info-block { background: var(--c-card); border: 1px solid rgba(0,0,0,0.05); border-radius: 16px; padding: 16px; margin-bottom: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.02);}
      .ib-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed rgba(0,0,0,0.05); font-size: 12px;}
      .ib-row:last-child { border-bottom: none; }
      .ib-label { font-family: "Courier New", monospace; font-weight: 700; color: var(--c-gray-dark); }
      .ib-val { font-weight: 600; color: var(--c-black); }
      .transcript-box { background: #1C1C1E; border-radius: 16px; padding: 20px; position: relative; color: #FFF; box-shadow: 0 15px 40px rgba(0,0,0,0.15);}
      .tb-title { font-family: "Courier New", monospace; font-size: 9px; color: rgba(255,255,255,0.5); letter-spacing: 2px; margin-bottom: 15px; display: flex; align-items: center; gap: 8px;}
      .tb-title::before { content: ''; width: 6px; height: 6px; background: #34C759; border-radius: 50%; box-shadow: 0 0 6px #34C759; }
      .tb-content { font-family: "Georgia", "Times New Roman", serif; font-size: 13px; font-style: italic; line-height: 1.6; color: rgba(255,255,255,0.9); }
      .tb-memory-tag { position: absolute; bottom: 12px; right: 16px; font-family: "Courier New", monospace; font-size: 8px; color: rgba(255,255,255,0.3); border: 1px solid rgba(255,255,255,0.2); padding: 2px 6px; border-radius: 4px;}
      .phone-tab-bar { height: 90px; background: rgba(249,248,246,0.95); backdrop-filter: blur(25px); border-top: 0.5px solid rgba(0,0,0,0.05); display: flex; justify-content: space-around; align-items: center; padding-bottom: max(env(safe-area-inset-bottom), 20px); position: absolute; bottom: 0; width: 100%; z-index: 10; }
      .pt-tab { display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--c-gray-dark); cursor: pointer; width: 60px; transition: 0.2s; }
      .pt-tab.active { color: var(--c-black); }
      .pt-tab svg { width: 22px; height: 22px; stroke-width: 2; }
      .pt-label { font-family: "Courier New", monospace; font-size: 9px; font-weight: 800; letter-spacing: 0.5px; }
      /* ================= 星辰电话实时通讯 UI ================= */
      .phone-call-ui { flex: 1; display: none; flex-direction: column; padding: 60px 20px 30px; position: relative; z-index: 20; height: 100%; }
      /* 震撼声纹与神态描写区 */
      .voice-center-block { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 10px; height: 100px; flex-shrink: 0; }
      .voice-wave-wrap { height: 60px; display: flex; justify-content: center; align-items: center; gap: 4px; width: 100%; }
      .v-bar { width: 3px; background: linear-gradient(to top, #7E57C2, #81D4FA); border-radius: 2px; opacity: 0.25; box-shadow: 0 0 6px rgba(129, 212, 250, 0.3); transition: opacity 0.3s, box-shadow 0.3s; }
      .v-bar { animation: wave-idle 1.5s infinite ease-in-out alternate; transform-origin: center; }
      .v-bar:nth-child(1)  { height: 6px;  animation-delay: 0.1s; }
      .v-bar:nth-child(2)  { height: 12px; animation-delay: 0.3s; }
      .v-bar:nth-child(3)  { height: 18px; animation-delay: 0.0s; }
      .v-bar:nth-child(4)  { height: 10px; animation-delay: 0.4s; }
      .v-bar:nth-child(5)  { height: 24px; animation-delay: 0.2s; }
      .v-bar:nth-child(6)  { height: 14px; animation-delay: 0.5s; }
      .v-bar:nth-child(7)  { height: 32px; animation-delay: 0.1s; }
      .v-bar:nth-child(8)  { height: 40px; animation-delay: 0.6s; } 
      .v-bar:nth-child(9)  { height: 28px; animation-delay: 0.2s; }
      .v-bar:nth-child(10) { height: 16px; animation-delay: 0.7s; }
      .v-bar:nth-child(11) { height: 34px; animation-delay: 0.1s; }
      .v-bar:nth-child(12) { height: 12px; animation-delay: 0.5s; }
      .v-bar:nth-child(13) { height: 22px; animation-delay: 0.3s; }
      .v-bar:nth-child(14) { height: 14px; animation-delay: 0.0s; }
      .v-bar:nth-child(15) { height: 8px;  animation-delay: 0.4s; }
      @keyframes wave-idle { 0% { transform: scaleY(0.7); } 100% { transform: scaleY(1.2); } }
      .voice-wave-wrap.speaking .v-bar { opacity: 1; box-shadow: 0 0 15px rgba(129, 212, 250, 0.9); }
      .voice-wave-wrap.speaking .v-bar:nth-child(1)  { animation: wave-speak 0.25s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(2)  { animation: wave-speak 0.35s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(3)  { animation: wave-speak 0.28s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(4)  { animation: wave-speak 0.42s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(5)  { animation: wave-speak 0.30s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(6)  { animation: wave-speak 0.45s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(7)  { animation: wave-speak 0.26s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(8)  { animation: wave-speak 0.38s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(9)  { animation: wave-speak 0.29s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(10) { animation: wave-speak 0.41s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(11) { animation: wave-speak 0.27s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(12) { animation: wave-speak 0.36s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(13) { animation: wave-speak 0.31s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(14) { animation: wave-speak 0.44s infinite alternate ease-in-out; }
      .voice-wave-wrap.speaking .v-bar:nth-child(15) { animation: wave-speak 0.33s infinite alternate ease-in-out; }
      @keyframes wave-speak { 0% { transform: scaleY(0.3); } 100% { transform: scaleY(2.2); } }
      .voice-action-text { 
      font-family: var(--font-serif); font-size: 13px; font-style: italic; 
      color: rgba(255,255,255,0.4); margin-top: 10px; letter-spacing: 1px;
      transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
      text-shadow: 0 0 10px rgba(168, 192, 255, 0); 
      height: 20px; 
      }
      .voice-action-text.active {
      color: rgba(255,255,255,0.9);
      text-shadow: 0 0 15px rgba(168, 192, 255, 0.6);
      transform: scale(1.05);
      }
      /* 幽灵全息字幕区：融合滚动与3D物理引擎 */
      .ghost-transcript { 
      flex: 1; display: flex; flex-direction: column; gap: 15px; 
      padding: 20px 10px 80px; overflow-y: auto; overflow-x: hidden; scroll-behavior: smooth;
      mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
      }
      /* 神奇的垫片：解决原生 flex-end 无法向上滚动的问题 */
      .ghost-transcript::before { content: ''; margin-top: auto; }
      .ghost-line { 
      text-align: center; line-height: 1.6; word-wrap: break-word; white-space: pre-wrap;
      transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
      opacity: 0; transform: translateY(20px) scale(0.95); flex-shrink: 0;
      }
      .ghost-line.user { 
      font-size: 12px; font-weight: 500; color: rgba(255,255,255,0.85); 
      text-shadow: 0 0 8px rgba(255,255,255,0.3); letter-spacing: 0.5px;
      }
      .ghost-line.bot { 
      font-family: var(--font-serif); font-size: 15px; font-style: italic; font-weight: 600;
      background: linear-gradient(90deg, #A8C0FF 0%, #7E57C2 100%);
      -webkit-background-clip: text; color: transparent; 
      text-shadow: 0 0 20px rgba(168, 192, 255, 0.4); letter-spacing: 1px;
      }
      /* 底部操作区 */
      .call-bottom-ctrl { display: flex; flex-direction: column; gap: 20px; flex-shrink: 0; padding-top: 10px; }
      .c-input-row { display: flex; gap: 10px; align-items: center; }
      .c-input { flex: 1; height: 48px; border-radius: 24px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.15); color: #FFF; padding: 0 20px; font-size: 14px; font-weight: 500; outline: none; backdrop-filter: blur(15px); transition: 0.3s; font-family: inherit;}
      .c-input:focus { background: rgba(255,255,255,0.2); border-color: rgba(255,255,255,0.4); box-shadow: 0 0 20px rgba(255,255,255,0.05);}
      .c-input::placeholder { color: rgba(255,255,255,0.3); font-weight: 400;}
      .c-btn-send { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,0.9); color: #000; border: none; display: flex; justify-content: center; align-items: center; cursor: pointer; flex-shrink: 0; transition: 0.2s; box-shadow: 0 4px 15px rgba(255,255,255,0.1);}
      .c-btn-send:active { transform: scale(0.9); }
      /* 无色透明毛玻璃挂断键 */
      .c-btn-hangup { 
      width: 72px; height: 72px; border-radius: 50%; 
      background: rgba(255,255,255,0.08); 
      backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); 
      border: 1px solid rgba(255,255,255,0.15); 
      display: flex; justify-content: center; align-items: center; 
      margin: 0 auto; cursor: pointer; 
      box-shadow: 0 10px 30px rgba(0,0,0,0.2); 
      transition: transform 0.2s, background 0.2s; 
      }
      .c-btn-hangup:active { transform: scale(0.9); background: rgba(255,255,255,0.15); }