/* 电话 APP · Monochrome system · Font Awesome Classic Solid */
    #page-phone-app {
      --phone-bg: #f7f7f5;
      --phone-surface: #ffffff;
      --phone-text: #0b0b0b;
      --phone-muted: rgba(11,11,11,.48);
      --phone-faint: rgba(11,11,11,.30);
      --phone-line: rgba(11,11,11,.10);
      --phone-soft: rgba(11,11,11,.045);
      position: relative;
      overflow: hidden;
      background: var(--phone-bg);
      color: var(--phone-text);
      grid-template-rows: minmax(0,1fr);
      font-variant-numeric: tabular-nums;
    }
    #page-phone-app * { box-sizing: border-box; }
    #page-phone-app button,
    #page-phone-app input { font-family: inherit; }
    #page-phone-app .phone-shell {
      min-width: 0;
      min-height: 0;
      height: 100%;
      display: grid;
      grid-template-rows: auto minmax(0,1fr) auto;
      background: var(--phone-bg);
    }
    #page-phone-app .phone-header {
      padding: max(var(--global-page-start), env(safe-area-inset-top)) 20px 12px;
      display: grid;
      grid-template-columns: 42px minmax(0,1fr) 42px;
      align-items: center;
      gap: 8px;
      background: color-mix(in srgb, var(--phone-bg) 92%, transparent);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      z-index: 4;
    }
    #page-phone-app .phone-header-button {
      width: 42px;
      height: 42px;
      border: 1px solid var(--phone-line);
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--phone-surface);
      color: var(--phone-text);
      cursor: pointer;
      font-size: 19px;
      line-height: 1;
    }
    #page-phone-app .phone-header-button:active { transform: scale(.96); }
    #page-phone-app .phone-header-icon { font-size:15px; line-height:1; }
    #page-phone-app .phone-header-copy { min-width: 0; text-align: center; }
    #page-phone-app .phone-header-kicker {
      display: block;
      margin-bottom: 3px;
      color: var(--phone-muted);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    #page-phone-app .phone-header-title {
      margin: 0;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: -.02em;
    }
    #page-phone-app .phone-stage { min-width:0; min-height:0; position:relative; overflow:hidden; }
    #page-phone-app .phone-panel {
      display: none;
      height: 100%;
      padding: 10px 20px 24px;
      overflow-y: auto;
      overscroll-behavior: contain;
    }
#page-phone-app .phone-panel.is-active { display:block; }
    #page-phone-app .phone-page-title {
      /* 只保留 Phone 的页面间距；标题排版唯一来自 .global-page-title。 */
      margin: 8px 0 20px;
    }
    #page-phone-app .phone-section-label {
      margin: 0 0 10px;
      color: var(--phone-muted);
      font-size: 9px;
      font-weight: 760;
      letter-spacing: .16em;
      text-transform: uppercase;
    }
    #page-phone-app .phone-list {
      border-top: 1px solid var(--phone-line);
      border-bottom: 1px solid var(--phone-line);
      background: transparent;
    }
    #page-phone-app .phone-row {
      width: 100%;
      min-height: 70px;
      padding: 11px 2px;
      border: 0;
      border-bottom: 1px solid var(--phone-line);
      background: transparent;
      color: inherit;
      display: grid;
      grid-template-columns: 46px minmax(0,1fr) auto;
      align-items: center;
      gap: 12px;
      text-align: left;
      cursor: pointer;
    }
    #page-phone-app .phone-row:last-child { border-bottom:0; }
    #page-phone-app .phone-row:active { opacity:.58; }
    #page-phone-app .phone-avatar {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      overflow: hidden;
      display:grid;
      place-items:center;
      flex:0 0 auto;
      background:#0b0b0b;
      color:#fff;
      font-size:14px;
      font-weight:720;
      letter-spacing:-.02em;
    }
    #page-phone-app .phone-avatar img { width:100%; height:100%; object-fit:cover; display:block; filter: grayscale(1); }
    #page-phone-app .phone-row-copy { min-width:0; }
    #page-phone-app .phone-row-name {
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      font-size:14px;
      font-weight:680;
      letter-spacing:-.018em;
    }
    #page-phone-app .phone-row-meta {
      margin-top:5px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      color:var(--phone-muted);
      font-size:10px;
      line-height:1.35;
    }
    #page-phone-app .phone-row-side { color:var(--phone-faint); font-size:10px; text-align:right; white-space:nowrap; }
    #page-phone-app .phone-empty {
      min-height: 220px;
      display:grid;
      place-items:center;
      align-content:center;
      gap:7px;
      text-align:center;
      color:var(--phone-muted);
    }
    #page-phone-app .phone-empty strong { color:var(--phone-text); font-size:16px; font-weight:700; }
    #page-phone-app .phone-empty span { max-width:220px; font-size:10px; line-height:1.6; }
    #page-phone-app .phone-search-wrap { margin:0 0 18px; }
    #page-phone-app .phone-search {
      width:100%;
      height:46px;
      padding:0 16px;
      border:1px solid var(--phone-line);
      border-radius:16px;
      outline:0;
      background:var(--phone-surface);
      color:var(--phone-text);
      font-size:12px;
      letter-spacing:-.01em;
    }
    #page-phone-app .phone-search::placeholder { color:var(--phone-faint); }
    #page-phone-app .phone-search:focus { border-color:rgba(11,11,11,.32); }
    #page-phone-app .phone-contact-head {
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:14px;
      margin-bottom:18px;
    }
    #page-phone-app .phone-contact-head .phone-page-title { margin-bottom:0; }
    #page-phone-app .phone-text-action {
      padding:8px 0;
      border:0;
      background:transparent;
      color:var(--phone-text);
      font-size:11px;
      font-weight:700;
      cursor:pointer;
    }
    #page-phone-app .phone-dial-panel { padding-top: 4px; }
    #page-phone-app .phone-dial-display {
      min-height:112px;
      padding:8px 4px 18px;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:flex-end;
      text-align:center;
    }
    #page-phone-app .phone-dial-number {
      max-width:100%;
      min-height:45px;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
      font-size:clamp(28px,9vw,40px);
      font-weight:520;
      letter-spacing:.015em;
    }
    #page-phone-app .phone-dial-hint { margin-top:8px; color:var(--phone-muted); font-size:10px; }
    #page-phone-app .phone-keypad {
      width:min(310px,100%);
      margin:0 auto;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:13px 18px;
      justify-items:center;
    }
    #page-phone-app .phone-key {
      width:72px;
      height:72px;
      border:1px solid var(--phone-line);
      border-radius:50%;
      background:var(--phone-surface);
      color:var(--phone-text);
      display:grid;
      place-items:center;
      cursor:pointer;
      transition:transform .12s ease, background .12s ease;
    }
    #page-phone-app .phone-key:active { transform:scale(.94); background:#ededeb; }
    #page-phone-app .phone-key-main { display:block; font-size:23px; line-height:1; font-weight:560; }
    #page-phone-app .phone-key-sub { display:block; margin-top:4px; color:var(--phone-muted); font-size:7px; font-weight:760; letter-spacing:.17em; }
    #page-phone-app .phone-dial-actions {
      width:min(310px,100%);
      margin:18px auto 0;
      display:grid;
      grid-template-columns:72px 72px 72px;
      justify-content:space-between;
      align-items:center;
    }
    #page-phone-app .phone-dial-ghost {
      width:72px;
      height:54px;
      border:0;
      background:transparent;
      color:var(--phone-muted);
      font-size:10px;
      font-weight:700;
      cursor:pointer;
    }
    #page-phone-app .phone-call-button {
      width:72px;
      height:72px;
      border:0;
      border-radius:50%;
      background:#0b0b0b;
      color:#fff;
      display:grid;
      place-items:center;
      cursor:pointer;
      font-size:10px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
    }
    #page-phone-app .phone-call-button:disabled { opacity:.16; cursor:default; }
    #page-phone-app .phone-nav {
      padding:9px 16px max(12px, env(safe-area-inset-bottom));
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:6px;
      border-top:1px solid var(--phone-line);
      background:rgba(247,247,245,.94);
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
      z-index:4;
    }
    #page-phone-app .phone-nav-item {
      min-height:48px;
      border:0;
      border-radius:16px;
      background:transparent;
      color:var(--phone-muted);
      cursor:pointer;
      display:grid;
      place-items:center;
      align-content:center;
      gap:3px;
      font-size:9px;
      font-weight:700;
      letter-spacing:.04em;
    }
    #page-phone-app .phone-nav-index { font-size:8px; opacity:.65; }
    #page-phone-app .phone-nav-item.is-active { background:#0b0b0b; color:#fff; }
    #page-phone-app .phone-call-screen {
      position:absolute;
      inset:0;
      z-index:20;
      display:grid;
      grid-template-rows:auto minmax(0,1fr) auto;
      padding:max(var(--global-page-start), env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));
      background:#080808;
      color:#fff;
      visibility:hidden;
      pointer-events:none;
    }
    #page-phone-app .phone-call-screen.is-active {
      visibility:visible;
      pointer-events:auto;
    }
    #page-phone-app .phone-call-top { display:flex; align-items:center; justify-content:space-between; }
    #page-phone-app .phone-call-brand { font-size:9px; font-weight:760; letter-spacing:.18em; text-transform:uppercase; opacity:.55; }
    #page-phone-app .phone-call-status { font-size:10px; opacity:.64; }
    #page-phone-app .phone-call-identity {
      min-height:0;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      text-align:center;
      padding-bottom:10vh;
    }
    #page-phone-app .phone-call-avatar {
      width:132px;
      height:132px;
      border-radius:50%;
      overflow:hidden;
      display:grid;
      place-items:center;
      background:#fff;
      color:#080808;
      font-size:34px;
      font-weight:720;
      letter-spacing:-.05em;
      box-shadow:0 0 0 1px rgba(255,255,255,.18);
    }
    #page-phone-app .phone-call-avatar img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
    #page-phone-app .phone-call-name { margin:24px 0 0; max-width:92%; font-size:30px; font-weight:620; letter-spacing:-.05em; line-height:1; }
    #page-phone-app .phone-call-number { margin-top:10px; color:rgba(255,255,255,.52); font-size:11px; }
    #page-phone-app .phone-call-controls { display:grid; gap:22px; }
    #page-phone-app .phone-call-tools { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
    #page-phone-app .phone-call-tool {
      min-height:76px;
      border:1px solid rgba(255,255,255,.18);
      border-radius:24px;
      background:rgba(255,255,255,.06);
      color:#fff;
      display:grid;
      place-items:center;
      align-content:center;
      gap:6px;
      cursor:pointer;
      font-size:10px;
      font-weight:650;
    }
    #page-phone-app .phone-call-tool .phone-fa-icon {
      width:22px;
      min-width:22px;
      font-size:20px;
      line-height:1;
      text-align:center;
      color:currentColor;
    }
    #page-phone-app .phone-call-tool.is-on { background:#fff; color:#080808; }
    #page-phone-app .phone-end-call {
      width:100%;
      min-height:58px;
      border:0;
      border-radius:20px;
      background:#fff;
      color:#080808;
      cursor:pointer;
      font-size:11px;
      font-weight:800;
      letter-spacing:.12em;
      text-transform:uppercase;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
    }
    #page-phone-app .phone-end-call .phone-fa-icon { font-size:16px; line-height:1; }
