/* ---- suggestion / bug report ---- */
.fb{width:min(460px,calc(100vw - 24px));border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:0;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.fb::backdrop{background:rgba(0,0,0,.45)}
.fb-form{display:grid;gap:12px;padding:18px}
.fb-form h2{margin:0;font-size:1.3rem}
.fb-form p{margin:0}
.fb-kinds{display:flex;gap:8px}
.fb-kinds label{flex:1;display:flex;align-items:center;gap:8px;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font-weight:600;cursor:pointer}
.fb-kinds label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.fb-kinds input{accent-color:var(--accent);width:18px;height:18px}
.fb-label{display:grid;gap:6px;font-weight:600}
.fb-label textarea{width:100%;min-height:120px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:1rem/1.4 var(--f-body);resize:vertical}
.fb-voice{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fb-mic{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font:600 1rem var(--f-body,inherit);cursor:pointer}
.fb-mic-dot{width:12px;height:12px;border-radius:50%;background:var(--muted)}
.fb-mic.is-listening{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}
.fb-mic.is-listening .fb-mic-dot{background:var(--bad);animation:fb-pulse 1s ease-in-out infinite}
.fb-mic.is-unsupported{opacity:.7}
.fb-voice-msg{flex:1 1 200px;font-size:.85rem;color:var(--muted)}
.fb-voice-msg:empty{display:none}
@keyframes fb-pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.fb-mic.is-listening .fb-mic-dot{animation:none}}
.fb-note{font-size:.85rem;color:var(--muted)}
.fb-error{color:var(--bad);font-weight:600;min-height:0}
.fb-error:empty{display:none}
.fb-btns{display:flex;justify-content:flex-end;gap:8px}
