/* === module: channel_select === */
      .channel-overlay {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 906;
        background: rgba(2, 2, 8, 0.92);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        justify-content: center;
        align-items: center;
        padding: 24px;
      }
      .channel-overlay.visible { display: flex; }
      .channel-panel {
        background: #12121a;
        border: 1px solid #2a2a3a;
        border-radius: 16px;
        max-width: 680px;
        width: 100%;
        animation: panelSlideIn 0.35s ease;
      }
      .channel-header {
        padding: 28px 28px 16px;
        border-bottom: 1px solid #222;
        text-align: center;
      }
      .channel-header h2 { font-size: 20px; font-weight: 700; color: #e0e0e0; margin: 0 0 6px; }
      .channel-header p { font-size: 13px; color: #777; margin: 0; }
      .channel-cards {
        display: flex;
        gap: 16px;
        padding: 24px;
        justify-content: center;
      }
      .channel-card {
        flex: 1;
        max-width: 190px;
        background: #1a1a26;
        border: 2px solid #2a2a3a;
        border-radius: 14px;
        padding: 20px 16px;
        cursor: pointer;
        transition: border-color 0.2s, transform 0.15s, box-shadow 0.2s;
        text-align: center;
      }
      .channel-card:hover {
        border-color: #555;
        transform: translateY(-2px);
      }
      .channel-card.selected {
        border-color: var(--channel-color, #7c6ef0);
        box-shadow: 0 0 20px color-mix(in srgb, var(--channel-color, #7c6ef0) 30%, transparent);
        transform: translateY(-3px);
      }
      .channel-card .channel-emoji { font-size: 42px; margin-bottom: 10px; }
      .channel-card .channel-name {
        font-size: 16px;
        font-weight: 700;
        color: #e0e0e0;
        margin-bottom: 4px;
      }
      .channel-card .channel-flavor {
        font-size: 12px;
        color: #888;
        margin-bottom: 10px;
      }
      .channel-card .channel-pref {
        font-size: 11px;
        color: #666;
        line-height: 1.5;
      }
      .channel-footer {
        padding: 16px 24px 20px;
        text-align: center;
        border-top: 1px solid #222;
      }
      .channel-confirm-btn {
        background: #2a2a3a;
        color: #888;
        border: none;
        padding: 10px 36px;
        border-radius: 8px;
        font-size: 14px;
        cursor: not-allowed;
        transition: all 0.2s;
      }
      .channel-confirm-btn.active {
        background: #7c6ef0;
        color: #fff;
        cursor: pointer;
      }
      .channel-confirm-btn.active:hover { background: #6b5dd3; }
