/* 工具 08 · 拒绝话术生成器
   独立视觉：暖珊瑚色聊天气泡，左侧设定卡 + 右侧对话流，两段式话术高对比排版。 */
.rf {
    --a1: #c9604c; --a1b: #7c8f68; --a1s: #fbeae4; --a1i: #a44836;
    --a2: #f0987e; --a2b: #a9c48d; --a2s: rgba(240, 152, 126, .15); --a2i: #f7b8a2;
    --h15-h1: clamp(30px, 3.6vw, 42px);
}
.rf .rf-h1 { font-weight: 800; }
.rf-hero {
    background:
        radial-gradient(560px 240px at 90% -10%, rgba(124, 143, 104, .2), transparent 72%),
        linear-gradient(125deg, #fdf6f0 0%, #fae9e1 100%);
    border-color: #efd9cd;
}
.rf-hero::before { background: linear-gradient(180deg, var(--a1), #e0a35c); }
:root[data-theme="dark"] .rf .rf-hero { background: radial-gradient(560px 240px at 90% -10%, rgba(169, 196, 141, .08), transparent 72%), linear-gradient(125deg, #241b19 0%, #2b1d1b 100%); border-color: #4a312c; }
.rf-bubble-deco { position: absolute; right: 34px; top: 30px; pointer-events: none; }
.rf-bubble-deco i { display: block; border: 2px solid rgba(201, 96, 76, .22); border-radius: 18px 18px 18px 4px; width: 96px; height: 42px; }
.rf-bubble-deco i:nth-child(2) { width: 66px; height: 30px; margin: 10px 0 0 40px; border-radius: 18px 18px 4px 18px; border-color: rgba(124, 143, 104, .3); }
@media (max-width: 620px) { .rf-bubble-deco { display: none; } }
.rf-quick { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.rf-quick-f { display: grid; gap: 4px; min-width: 132px; }
.rf-quick-f > span { font-size: var(--h15-fs-12); font-weight: 700; color: var(--h15-ink-2); }
.rf-go { padding-left: 22px; padding-right: 22px; }

.rf-desk { display: grid; grid-template-columns: 344px minmax(0, 1fr); gap: 18px; align-items: start; }
@media (max-width: 980px) { .rf-desk { grid-template-columns: 1fr; } }
.rf-compose .h15-note { margin-top: 16px; }
.rf-compose .h15-label b { color: var(--h15-accent-ink); font-family: var(--h15-font-num); }
.rf-history { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--h15-line); }
.rf-hist-item { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; font-size: var(--h15-fs-12); color: var(--h15-ink-2); }
.rf-hist-item button { border: 0; background: transparent; color: var(--h15-accent-ink); font-weight: 700; cursor: pointer; font-size: var(--h15-fs-12); }

.rf-chat { border: 1px solid var(--h15-line); border-radius: 18px; overflow: hidden; background: var(--h15-card); box-shadow: var(--h15-shadow); }
.rf-chat-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 18px; background: var(--h15-card-2); border-bottom: 1px solid var(--h15-line); }
.rf-chat-title { font-size: var(--h15-fs-14); font-weight: 750; }
.rf-chat-body { min-height: 380px; max-height: 720px; overflow: auto; padding: 20px 20px 8px; background: linear-gradient(180deg, var(--h15-card), var(--h15-card-2)); }
.rf-chat-body .h15-empty { margin-top: 90px; }
.rf-bubble { display: flex; gap: 10px; margin-bottom: 18px; align-items: flex-start; }
.rf-avatar { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--h15-accent); color: #fff; font-size: var(--h15-fs-12); font-weight: 800; }
:root[data-theme="dark"] .rf .rf-avatar { color: #25130f; }
.rf-bubble-box { position: relative; flex: 1; max-width: 720px; padding: 14px 17px; border: 1px solid var(--h15-line); border-radius: 4px 16px 16px 16px; background: var(--h15-card); box-shadow: var(--h15-shadow-sm); }
.rf-bubble:nth-child(even) .rf-bubble-box { background: var(--h15-accent-soft); border-color: transparent; }
.rf-bubble-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 9px; font-size: var(--h15-fs-11); color: var(--h15-ink-3); font-weight: 700; }
.rf-bubble-meta span { padding: 2px 8px; border-radius: 999px; background: var(--h15-card-2); }
.rf-bubble p { margin: 0 0 8px; font-size: var(--h15-fs-14); line-height: 1.9; }
.rf-bubble p b { color: var(--h15-accent-ink); }
.rf-bubble-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--h15-line); }
.rf-bubble-actions button { padding: 4px 11px; border: 1px solid var(--h15-line); border-radius: 999px; background: var(--h15-card); color: var(--h15-ink-2); font-family: inherit; font-size: var(--h15-fs-11); cursor: pointer; }
.rf-bubble-actions button:hover { border-color: var(--h15-accent); color: var(--h15-accent-ink); }
.rf-chat-tools { margin: 0; padding: 12px 18px; border-top: 1px solid var(--h15-line); background: var(--h15-card-2); }
.rf-ai { margin-top: 20px; }
.rf-ai-box { margin-top: 12px; padding: 15px 17px; border: 1px solid var(--h15-line); border-radius: 12px; background: var(--h15-card-2); white-space: pre-wrap; font-size: var(--h15-fs-14); line-height: 1.9; }
.rf-faq .h15-faq-q { color: var(--h15-accent-ink); }
.rf-full-pre { margin: 0; white-space: pre-wrap; font-size: var(--h15-fs-14); line-height: 2; }
