.reve-faq{position:fixed;right:24px;bottom:max(20px,env(safe-area-inset-bottom));z-index:20;font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--ink)}
.faq-launcher{display:flex;align-items:center;gap:10px;margin-left:auto;padding:12px 20px;min-height:48px;border-radius:28px;background:var(--brown);color:#fff;box-shadow:0 4px 20px #342d2826;border:1px solid #f7f3ed80}
.faq-launcher>span:first-child{font-size:24px;line-height:1}.faq-panel[hidden]{display:none}.faq-panel{position:absolute;bottom:62px;right:0;width:370px;max-height:min(640px,calc(100dvh - 108px));display:flex;flex-direction:column;background:var(--cream);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 48px #342d2830;overflow:auto}
.faq-header{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;background:var(--brown);color:#fff;flex-shrink:0}.faq-header h2,html[lang=zh-Hans] .faq-header h2{font-family:var(--serif);font-size:21px;line-height:1.4;letter-spacing:0}.faq-subtitle{font-size:11px}.faq-close{width:44px;height:44px;font-size:27px;background:transparent;color:white;flex-shrink:0}.faq-close:focus-visible{outline-color:white}
.faq-log{min-height:90px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;padding:16px;flex:1 1 220px}.faq-message{white-space:pre-line;background:#ebe3d9;border-radius:10px 10px 10px 2px;padding:11px 13px;margin-bottom:12px;overflow-wrap:anywhere;font-size:12px}.faq-user{background:var(--brown);color:white;margin-left:35px;border-radius:10px 10px 2px 10px}.faq-topics{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 10px;flex-shrink:0}.faq-topics button{background:transparent;border:1px solid var(--line);border-radius:18px;padding:6px 10px;min-height:38px;font-size:11px}.faq-topics button:hover{background:var(--sand)}
.faq-form{padding:0 16px 10px;flex-shrink:0}.faq-input-label{display:block;font-size:11px;margin-bottom:5px}.faq-form>div{display:flex;gap:6px}.faq-form input{width:100%;min-width:0;border:1px solid var(--line);background:#fff;border-radius:6px;padding:10px;font:inherit;font-size:16px;color:var(--ink)}.faq-form input:focus-visible{outline:2px solid var(--brown);outline-offset:1px}.faq-send{background:var(--brown);color:white;border-radius:6px;padding:8px 14px;min-height:44px}.faq-contact{display:flex;gap:10px;padding:0 16px;flex-shrink:0}.faq-contact a{font-size:11px;min-height:38px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}.faq-note{font-size:10px;color:#695f56;padding:7px 16px 14px;flex-shrink:0}.footer{padding-bottom:90px}
@media(max-width:700px){.reve-faq{right:14px;bottom:max(14px,env(safe-area-inset-bottom))}.faq-panel{width:min(370px,calc(100vw - 28px));max-height:calc(100dvh - 100px)}.faq-launcher{padding:10px 16px}.faq-log{flex-basis:180px}}
@media(prefers-reduced-motion:no-preference){.faq-panel{animation:faq-in .22s ease-out}@keyframes faq-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
.faq-send{white-space:nowrap;flex-shrink:0}
