/* ===========================================================================
   Shaka Manta 深海悄悄話 — 後台分頁 + 前台 Card 5 共用樣式
   配色沿用品牌識別系統 navy #2b385d / teal #5aa1af / honey #ecb950 / cream #f5dca2
   =========================================================================== */

/* P0：字體 token 與 fallback 安全
   絕對不能 fallback 到細明體/標楷體！monospace 結尾要先墊西文字體再墊中文 sans-serif */
:root {
    --sm-font-mono-safe: 'SF Mono', 'Cascadia Code', 'Consolas', 'Menlo', 'Monaco',
                         'Huninn', 'Hiragino Sans GB', 'PingFang TC', 'Microsoft JhengHei', sans-serif;
}
/* form 元素強制繼承父字體（瀏覽器預設不繼承） */
.sm-whisper-admin input,
.sm-whisper-admin select,
.sm-whisper-admin textarea,
.sm-whisper-admin button,
.sm-whisper-admin code,
.sm-whisper-admin pre {
    font-family: inherit;
}

/* =========================================================================
   Section A：撰寫表單區塊
   ========================================================================= */
.sm-whisper-admin .sm-card {
    margin-bottom: 18px;
}

.sm-whisper-compose .sm-radio-row {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.sm-whisper-compose .sm-radio,
.sm-whisper-compose .sm-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: #f5dca2;
    font-size: 14px;
}
.sm-whisper-compose .sm-radio input,
.sm-whisper-compose .sm-checkbox input {
    cursor: pointer;
}
.sm-whisper-compose .sm-checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 6px;
}
.sm-whisper-compose .sm-checkbox > span {
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid currentColor;
}

.sm-whisper-template-preview {
    padding: 8px 12px;
    background: rgba(43, 56, 93, 0.30);
    border: 1px dashed rgba(90, 161, 175, 0.30);
    border-radius: 8px;
    color: #d0b983;
    font-size: 13px;
    line-height: 1.6;
    margin: 12px 0;
}
.sm-whisper-template-preview code {
    background: transparent;
    color: #ecb950;
    padding: 0;
}

.sm-whisper-template-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

/* Email 搜尋 */
.sm-whisper-user-search {
    position: relative;
}
.sm-whisper-user-search input {
    width: 100%;
}
.sm-whisper-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    background: rgba(20, 32, 58, 0.97);
    border: 1px solid rgba(90, 161, 175, 0.40);
    border-radius: 10px;
    max-height: 280px;
    overflow-y: auto;
    margin-top: 4px;
    box-shadow: 0 8px 24px rgba(12, 18, 36, 0.50);
}
.sm-whisper-search-results:empty {
    display: none;
}
.sm-whisper-search-row {
    padding: 10px 14px;
    cursor: pointer;
    color: #f5dca2;
    border-bottom: 1px solid rgba(245, 220, 162, 0.10);
    transition: background .15s ease;
}
.sm-whisper-search-row:last-child {
    border-bottom: none;
}
.sm-whisper-search-row:hover {
    background: rgba(90, 161, 175, 0.20);
}
.sm-whisper-search-row strong {
    color: #ecb950;
    font-weight: 700;
    margin-right: 8px;
}
.sm-whisper-search-row small {
    color: rgba(245, 220, 162, 0.70);
    font-size: 12px;
}
.sm-whisper-search-empty {
    padding: 12px 14px;
    color: rgba(245, 220, 162, 0.55);
    font-size: 13px;
    font-style: italic;
}

.sm-whisper-selected-users {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.sm-whisper-selected-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px 6px 14px;
    border-radius: 999px;
    background: rgba(90, 161, 175, 0.20);
    border: 1px solid rgba(90, 161, 175, 0.45);
    color: #f5dca2;
    font-size: 13px;
}
.sm-whisper-selected-pill .remove {
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: rgba(245, 220, 162, 0.70);
    padding: 0 2px;
    transition: color .15s ease;
}
.sm-whisper-selected-pill .remove:hover {
    color: #ecb950;
}

.sm-whisper-compose-bar {
    display: flex;
    align-items: center;
    gap: 14px;
}
.sm-whisper-status {
    font-size: 13px;
    color: #d0b983;
}
.sm-whisper-status.is-success {
    color: #7ec4c9;
}
.sm-whisper-status.is-error {
    color: #ff9b85;
}

/* =========================================================================
   Section B：已發訊息列表表格
   ========================================================================= */
.sm-whisper-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
    color: #f5dca2;
    font-size: 13px;
}
.sm-whisper-table thead th {
    text-align: left;
    padding: 10px 12px;
    background: rgba(20, 32, 58, 0.60);
    color: #ecb950;
    font-weight: 700;
    border-bottom: 1px solid rgba(90, 161, 175, 0.30);
    white-space: nowrap; /* 表頭欄名一律單行，不被中文擠成直書 */
}
.sm-whisper-table tbody td {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(245, 220, 162, 0.10);
    vertical-align: middle;
}
.sm-whisper-row.is-retracted td {
    opacity: 0.55;
}
.sm-whisper-row.is-expired td {
    opacity: 0.45;
    text-decoration: line-through;
    text-decoration-color: rgba(245, 220, 162, 0.30);
}
.sm-whisper-cell-mono {
    font-family: var(--sm-font-mono-safe);
    font-size: 12px;
    color: rgba(245, 220, 162, 0.75);
    white-space: nowrap;
}

.sm-whisper-status-pill {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.05em;
}
.sm-whisper-status-pill.is-active {
    background: rgba(90, 161, 175, 0.25);
    color: #7ec4c9;
    border: 1px solid rgba(90, 161, 175, 0.55);
}
.sm-whisper-status-pill.is-retracted {
    background: rgba(188, 145, 109, 0.25);
    color: #d0b983;
    border: 1px solid rgba(188, 145, 109, 0.55);
}
.sm-whisper-status-pill.is-expired {
    background: rgba(55, 39, 29, 0.45);
    color: rgba(245, 220, 162, 0.55);
    border: 1px solid rgba(245, 220, 162, 0.20);
}

.sm-whisper-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.sm-whisper-actions .sm-btn--ghost {
    padding: 5px 10px;
    font-size: 12px;
    background: transparent;
    border: 1px solid rgba(90, 161, 175, 0.45);
    color: #d0b983;
    border-radius: 6px;
    cursor: pointer;
    transition: all .2s ease;
}
.sm-whisper-actions .sm-btn--ghost:hover {
    background: rgba(90, 161, 175, 0.20);
    color: #ecb950;
    border-color: rgba(90, 161, 175, 0.80);
    transform: translateY(-1px);
}
.sm-whisper-actions .sm-whisper-destroy {
    border-color: rgba(188, 145, 109, 0.55);
    color: #bc916d;
}
.sm-whisper-actions .sm-whisper-destroy:hover {
    background: rgba(188, 145, 109, 0.25);
    color: #d0b983;
    border-color: #bc916d;
}

.sm-whisper-empty {
    padding: 18px;
    text-align: center;
    color: rgba(245, 220, 162, 0.55);
    font-style: italic;
    background: rgba(20, 32, 58, 0.30);
    border-radius: 10px;
}

/* =========================================================================
   Section C：折疊設定區塊
   ========================================================================= */
.sm-whisper-settings summary {
    cursor: pointer;
    list-style: none;
    margin-bottom: 10px;
}
.sm-whisper-settings summary::-webkit-details-marker {
    display: none;
}
.sm-whisper-settings summary h3 {
    display: inline-block;
    margin: 0;
}
.sm-whisper-settings summary::before {
    content: '▸';
    display: inline-block;
    margin-right: 8px;
    color: #ecb950;
    transition: transform .2s ease;
}
.sm-whisper-settings[open] summary::before {
    transform: rotate(90deg);
}

.sm-whisper-settings-block {
    margin-top: 18px;
    padding: 16px;
    background: rgba(20, 32, 58, 0.30);
    border: 1px dashed rgba(90, 161, 175, 0.25);
    border-radius: 12px;
}
.sm-whisper-settings-block h4 {
    margin: 0 0 8px;
    color: #ecb950;
    font-family: 'Huninn', 'Noto Sans TC', sans-serif;
    font-size: 18px;
    font-weight: 700;
}
.sm-whisper-settings-hint {
    color: rgba(245, 220, 162, 0.65);
    font-size: 12.5px;
    line-height: 1.6;
    margin: 0 0 12px;
}
.sm-whisper-settings-hint code {
    background: rgba(43, 56, 93, 0.40);
    padding: 1px 6px;
    border-radius: 4px;
    color: #ecb950;
}

.sm-whisper-string-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 10px;
}
.sm-whisper-string-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sm-whisper-string-row > input {
    flex: 1;
}
.sm-whisper-string-remove {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(245, 220, 162, 0.30);
    color: rgba(245, 220, 162, 0.70);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    transition: all .15s ease;
}
.sm-whisper-string-remove:hover {
    background: rgba(188, 145, 109, 0.30);
    color: #ecb950;
    border-color: #bc916d;
}

.sm-whisper-cat-row,
.sm-whisper-tpl-row {
    position: relative;
    padding: 12px;
    margin-bottom: 10px;
    background: rgba(20, 32, 58, 0.40);
    border: 1px solid rgba(90, 161, 175, 0.20);
    border-radius: 10px;
}
.sm-whisper-cat-row > .sm-whisper-string-remove,
.sm-whisper-tpl-row > .sm-whisper-string-remove {
    position: absolute;
    top: 8px;
    right: 8px;
}

.sm-whisper-settings-bar {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

/* =========================================================================
   Card 5 樣式（前後台共用，沿用四卡海洋漸進，最深層 navy）
   ========================================================================= */
.sm-myaccount-whispers {
    /* Card 5 = 比 Card 4 再深一階的深海寶藏層 */
    background: rgba(20, 32, 58, 0.96) !important;
    border-color: rgba(90, 161, 175, 0.30) !important;
}
.sm-myaccount-whispers h4 {
    margin: 0 0 14px;
    padding-top: clamp(8px, 1.2vw, 14px);
    color: #ecb950;
    font-family: 'Pacifico', 'Huninn', cursive;
    font-size: clamp(18px, 2vw, 22px);
    letter-spacing: 0.3px;
}

.sm-whisper-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sm-whisper-item {
    position: relative;
    padding: 16px 18px;
    background: rgba(90, 161, 175, 0.10);
    border: 1px solid rgba(90, 161, 175, 0.25);
    border-radius: 12px;
    color: #f5dca2;
    transition: opacity .25s ease, transform .25s ease, border-color .25s ease;
}
.sm-whisper-item:hover {
    transform: translateY(-2px);
    border-color: rgba(90, 161, 175, 0.55);
}
.sm-whisper-item.is-read {
    opacity: 0.78;
}
/* unread dot：subject 前面會發光的小圓點，read 後消失（無左側色條，避開 AI-slop BAN 1）*/
.sm-whisper-item.is-unread .sm-whisper-subject::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-radius: 50%;
    background: #ecb950;
    box-shadow: 0 0 8px rgba(236, 185, 80, 0.65);
    vertical-align: middle;
    transform: translateY(-1px);
}
.sm-whisper-item--placeholder {
    background: transparent !important;
    border-style: dashed !important;
    border-color: rgba(245, 220, 162, 0.20) !important;
    text-align: center;
}

.sm-whisper-item header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}
.sm-whisper-subject {
    color: #ecb950;
    font-weight: 700;
    font-size: clamp(14px, 0.9rem + 0.3vw, 16px);
    letter-spacing: 0.02em;
}
.sm-whisper-item.is-read .sm-whisper-subject {
    color: #d0b983;
    font-weight: 600;
}
.sm-whisper-meta {
    color: rgba(245, 220, 162, 0.60);
    font-size: 12px;
    font-family: var(--sm-font-mono-safe);
}

.sm-whisper-body {
    color: #f5dca2;
    line-height: 1.7;
    font-size: 14px;
    word-break: break-word;
    margin-bottom: 10px;
}
.sm-whisper-body a {
    color: #ecb950;
    text-decoration: underline;
    text-decoration-color: rgba(236, 185, 80, 0.40);
    text-underline-offset: 2px;
}
.sm-whisper-body a:hover {
    color: #f5dca2;
    text-decoration-color: #ecb950;
}

/* 禮物按鈕：行內小 pill */
.sm-whisper-gift-row {
    margin-top: 8px;
}
.sm-whisper-gift-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    background: rgba(236, 185, 80, 0.18);
    border: 1px solid rgba(236, 185, 80, 0.55);
    color: #ecb950 !important;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-decoration: none !important;
    transition: all .2s ease;
}
.sm-whisper-gift-btn:hover {
    transform: translateY(-3px);
    background: rgba(90, 161, 175, 0.30);
    color: #7ec4c9 !important;
    border-color: rgba(90, 161, 175, 0.80);
    box-shadow: 0 6px 14px rgba(12, 18, 36, 0.40);
}

/* 用戶刪除按鈕：右上角 × 圓鈕（Phase C v1.5.11） */
.sm-myaccount-whispers .sm-whisper-item {
    position: relative;
}
/* header 留出 × 空間，meta 不會跟 × overlap */
.sm-myaccount-whispers .sm-whisper-item header {
    padding-right: 40px;
}
.sm-whisper-delete {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    padding: 0;
    border-radius: 50%;
    background: transparent;
    border: 1px solid rgba(245, 220, 162, 0.18);
    color: rgba(245, 220, 162, 0.55);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.sm-whisper-delete:hover {
    background: rgba(188, 145, 109, 0.22);
    color: #f5dca2;
    border-color: rgba(188, 145, 109, 0.55);
    transform: scale(1.08);
}
.sm-whisper-delete:focus-visible {
    outline: 2px solid #5aa1af;
    outline-offset: 2px;
}
.sm-whisper-delete:active {
    transform: scale(0.95);
}

/* =========================================================================
   白名單 pill UI — 取代原本的 text input 模式
   ========================================================================= */
.sm-whisper-whitelist-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
    min-height: 36px;
    padding: 8px;
    background: rgba(20, 32, 58, 0.40);
    border: 1px dashed rgba(90, 161, 175, 0.25);
    border-radius: 10px;
    align-items: center;
}
.sm-whisper-whitelist-pills:empty::before {
    content: '尚未加入任何用戶';
    color: rgba(245, 220, 162, 0.50);
    font-size: 13px;
    font-style: italic;
    padding: 0 6px;
}
.sm-whisper-whitelist-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background: rgba(236, 185, 80, 0.15);
    border: 1px solid rgba(236, 185, 80, 0.45);
    color: #f5dca2;
    border-radius: 999px;
    font-size: 13px;
}
.sm-whisper-whitelist-pill .pill-id {
    font-family: var(--sm-font-mono-safe);
    font-size: 11px;
    color: #d0b983;
    margin-right: 4px;
}
.sm-whisper-whitelist-pill .pill-name {
    color: #ecb950;
    font-weight: 700;
}
.sm-whisper-whitelist-pill .pill-email {
    color: rgba(245, 220, 162, 0.75);
    font-size: 12px;
    margin-left: 4px;
}
.sm-whisper-whitelist-pill .remove {
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: rgba(245, 220, 162, 0.70);
    padding: 0 2px;
    transition: color .15s ease;
}
.sm-whisper-whitelist-pill .remove:hover {
    color: #ff9b85;
}
.sm-whisper-whitelist-search-row {
    position: relative;
}
.sm-whisper-whitelist-search-row > input {
    width: 100%;
}
.sm-whisper-whitelist-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    background: rgba(20, 32, 58, 0.97);
    border: 1px solid rgba(90, 161, 175, 0.40);
    border-radius: 10px;
    max-height: 280px;
    overflow-y: auto;
    margin-top: 4px;
    box-shadow: 0 8px 24px rgba(12, 18, 36, 0.50);
}
.sm-whisper-whitelist-results:empty {
    display: none;
}
.sm-whisper-whitelist-result-row {
    padding: 10px 14px;
    cursor: pointer;
    color: #f5dca2;
    border-bottom: 1px solid rgba(245, 220, 162, 0.10);
    transition: background .15s ease;
    font-size: 13px;
}
.sm-whisper-whitelist-result-row:last-child {
    border-bottom: none;
}
.sm-whisper-whitelist-result-row:hover {
    background: rgba(90, 161, 175, 0.20);
}
.sm-whisper-whitelist-result-row strong {
    color: #ecb950;
    font-weight: 700;
    margin-right: 8px;
}
.sm-whisper-whitelist-result-row .uid {
    font-family: var(--sm-font-mono-safe);
    font-size: 11px;
    color: rgba(245, 220, 162, 0.55);
    margin-right: 6px;
}
.sm-whisper-whitelist-status {
    margin-top: 8px;
    font-size: 12px;
    color: #7ec4c9;
}

/* ═══════════════ v1.5.4 排版微調 ═══════════════ */

/* textarea 改半透明 85%（原本 #37271d 純色太深）
   用 .sm-parasite-admin 前綴蓋過 admin.css 同 specificity 規則 */
.sm-parasite-admin .sm-whisper-admin .sm-field textarea,
.sm-parasite-admin .sm-whisper-admin textarea {
    background: rgba(55, 39, 29, 0.85) !important;
}

/* 已發訊息列表：類型 / 狀態欄 nowrap，避免中文直書 */
.sm-whisper-table .sm-whisper-cell-tight {
    white-space: nowrap;
}

/* —— 小標題間距整理 —— */

/* Section card 內標題與下方說明文字的間距 */
.sm-whisper-admin .sm-card__title {
    margin: 0 0 6px;
    line-height: 1.35;
}
.sm-whisper-admin .sm-card__desc {
    margin: 0 0 18px;
    color: rgba(245, 220, 162, 0.72);
    font-size: 13px;
    line-height: 1.6;
}

/* Section A 表單欄位：label 與 input 間距 */
.sm-whisper-compose .sm-field > label {
    display: block;
    margin-bottom: 6px;
    color: #ecb950;
    font-weight: 600;
    font-size: 13.5px;
    letter-spacing: 0.2px;
}
.sm-whisper-compose .sm-field {
    margin-top: 14px;
}
.sm-whisper-compose .sm-field:first-child {
    margin-top: 0;
}

/* Section C 設定區：折疊內 block 之間呼吸 */
.sm-whisper-settings-block {
    margin-top: 28px;
}
.sm-whisper-settings-block:first-of-type {
    margin-top: 12px;
}
.sm-whisper-settings-block h4 {
    margin: 0 0 10px;
    line-height: 1.4;
}
.sm-whisper-settings-block .sm-whisper-settings-hint {
    margin: -4px 0 14px;
}

/* Card 之間呼吸（撰寫表單 / 預覽 / 列表 / 設定） */
.sm-whisper-admin .sm-card {
    margin-bottom: 24px;
}
.sm-whisper-admin .sm-card:last-of-type {
    margin-bottom: 0;
}

/* ═══════════════ v1.5.6 — input/select 強保險覆寫 ═══════════════ */
/* 不依賴 admin.css 是否被 Autoptimize 重新打包；whisper.css 自帶 dark theme + 等高規則 */

.sm-parasite-admin .sm-whisper-admin .sm-field input[type="text"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="number"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="email"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="search"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="url"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="date"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="datetime-local"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="time"],
.sm-parasite-admin .sm-whisper-admin .sm-field input[type="tel"],
.sm-parasite-admin .sm-whisper-admin .sm-field select {
    background: #37271d !important;
    color: #f5dca2 !important;
    border: 1px solid rgba(90, 161, 175, 0.25) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    height: 42px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    color-scheme: dark !important;
}

/* select 內 emoji 不撐高：給內部設等高基準 */
.sm-parasite-admin .sm-whisper-admin .sm-field select {
    line-height: 22px !important; /* 22 = (42 - 10*2)/1 — 行高鎖死 */
}

/* textarea 半透明 0.85（不固定 height，讓使用者可拉高） */
.sm-parasite-admin .sm-whisper-admin .sm-field textarea {
    background: rgba(55, 39, 29, 0.85) !important;
    color: #f5dca2 !important;
    border: 1px solid rgba(90, 161, 175, 0.25) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 90px !important;
}

/* v1.5.30：閱覽/點擊 雙行統計欄 */
.sm-whisper-stats-cell {
    line-height: 1.6;
}
.sm-whisper-stat-row {
    display: flex;
    gap: 6px;
    align-items: baseline;
    white-space: nowrap;
    font-size: 12px;
}
.sm-whisper-stat-label {
    color: rgba(245, 220, 162, 0.55);
    font-size: 11px;
    min-width: 28px;
}
.sm-whisper-stat-num {
    font-family: var(--sm-font-mono-safe);
    color: var(--sm-cream, #f5dca2);
}
.sm-whisper-stat-rate {
    color: var(--sm-honey, #ecb950);
    font-weight: 700;
    margin-left: auto;
}


/* ─────────────────────────────────────────────────────────────────
 * R3 patch (2026-04-29) — 悄悄話泡泡換 dashed bubble 風格
 *
 * Blake 確認的設計：
 *   - 未讀：deep navy 半透明 + 1.5px dashed cream border + 不對稱 radius (4 22 22 22)
 *   - 已讀：solid border + opacity .55（明顯區分跟未讀）
 *   - 領取禮物：dashed honey capsule，hover 變實心
 *   - 跟「優惠券泡泡」做出差異 — whisper 是 dashed cream，coupon 是 solid 暖色
 * ────────────────────────────────────────────────────────────── */

.sm-whisper-item {
	background: rgba(8, 14, 32, 0.22) !important;
	border: 1.5px dashed rgba(245, 220, 162, 0.55) !important;
	border-radius: 4px 22px 22px 22px !important;
	padding: 14px 16px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition: opacity .25s ease, transform .25s ease, border-color .25s ease, border-style .25s ease;
}
.sm-whisper-item:hover {
	transform: translateY(-2px);
	border-color: rgba(245, 220, 162, 0.75) !important;
}

/* 已讀：實線 + 透明度低 */
.sm-whisper-item.is-read {
	background: rgba(8, 14, 32, 0.14) !important;
	border-style: solid !important;
	border-color: rgba(245, 220, 162, 0.18) !important;
	opacity: 0.55;
}
.sm-whisper-item.is-read .sm-whisper-subject {
	color: rgba(236, 185, 80, 0.55) !important;
}
.sm-whisper-item.is-read .sm-whisper-body {
	color: rgba(245, 220, 162, 0.55) !important;
}

/* 未讀 subject 前面那顆發光小圓點：跟新泡泡風格一致 */
.sm-whisper-item.is-unread .sm-whisper-subject::before {
	box-shadow: 0 0 0 3px rgba(236, 185, 80, 0.25), 0 0 6px rgba(236, 185, 80, 0.55);
}

/* body 行距拉寬到 1.75（Blake R2.1 要求一致）*/
.sm-whisper-body {
	line-height: 1.75 !important;
}

/* ── 領取禮物：dashed honey capsule，hover 變實心 ── */
.sm-whisper-gift-btn {
	background: rgba(236, 185, 80, 0.14) !important;
	border: 1.5px dashed rgba(236, 185, 80, 0.55) !important;
	color: #ecb950 !important;
	border-radius: 999px !important;
	padding: 7px 16px !important;
	font-weight: 500 !important;
	transition: all .2s ease;
}
.sm-whisper-gift-btn:hover {
	background: #ecb950 !important;
	border-style: solid !important;
	border-color: #ecb950 !important;
	color: #2a1d12 !important;
	transform: translateY(-3px);
	box-shadow: 0 6px 14px rgba(236, 185, 80, 0.30);
}
