/* 第 7 輪：自由文字聊天輸入框、互動選單、握手請求、泡泡長文字 */
.rbub.txt { white-space:normal; width:max-content; max-width:min(240px, 60vw); word-break:break-all; text-align:center; line-height:1.3; }
#r7say { position:absolute; left:50%; bottom:92px; transform:translateX(-50%); z-index:30; display:flex; align-items:center; gap:6px; width:min(420px, calc(100vw - 24px)); background:var(--card); border:1px solid var(--line); border-top:4px solid var(--acc); border-radius:16px; padding:8px 10px; box-shadow:0 10px 32px var(--shadow); }
#r7say input { flex:1; min-width:0; font-size:16px; padding:8px 10px; border:2px solid var(--line); border-radius:10px; background:#fff; color:#3a2f4a; outline:none; }
#r7say input:focus { border-color:var(--acc); }
#r7say button { font-weight:700; padding:8px 14px; }
#r7say small { font-size:11px; opacity:.7; min-width:34px; text-align:right; }
body.touch #r7say { bottom:calc(10px + env(safe-area-inset-bottom)); }
#r7menu { position:absolute; left:50%; bottom:92px; transform:translateX(-50%); z-index:29; width:min(340px, calc(100vw - 24px)); background:var(--card); border:1px solid var(--line); border-top:4px solid #ff8a3d; border-radius:16px; padding:10px 12px 12px; box-shadow:0 10px 32px var(--shadow); }
#r7menu h3 { margin:2px 0 8px; font-size:14px; }
#r7menu .g { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#r7menu .g button { display:flex; flex-direction:column; align-items:center; gap:2px; padding:10px 6px; font-size:16px; font-weight:700; position:relative; }
#r7menu .g button b { position:absolute; left:8px; top:4px; font-size:11px; opacity:.55; }
#r7menu .g button small { font-size:10px; font-weight:400; opacity:.7; }
#r7menu .x { width:100%; margin-top:8px; }
body.touch #r7menu { left:auto; right:calc(12px + env(safe-area-inset-right)); transform:none; bottom:calc(150px + env(safe-area-inset-bottom)); width:min(280px, calc(100vw - 150px)); }
#r7asks { position:absolute; left:50%; top:calc(70px + env(safe-area-inset-top)); transform:translateX(-50%); z-index:31; display:flex; flex-direction:column; gap:6px; align-items:center; pointer-events:none; }
#r7asks .ask { pointer-events:auto; display:flex; align-items:center; gap:8px; background:var(--card); border:2px solid #ff8a3d; border-radius:14px; padding:8px 12px; box-shadow:0 6px 20px var(--shadow); font-weight:700; font-size:14px; }
#r7asks .ask button { padding:6px 12px; font-weight:700; }
#r7btnSay, #r7btnAct { font-weight:700; }
.pc-region { font-size:12px; opacity:.85; margin:2px 0 6px; }
