.fbw, .fbw * { box-sizing: border-box; font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
.fbw { --fbw-accent:#3d2e7c; --fbw-text:#222; --fbw-muted:#666; --fbw-border:#ddd; --fbw-bg:#fff;
       position: fixed; bottom: 0; left: 40px; z-index: 2147483000; }
.fbw[dir="rtl"] { left: auto; right: 40px; }

/* The tab */
.fbw-tab { display:flex; align-items:center; gap:8px; background:var(--fbw-accent); color:#fff; border:0;
           padding:10px 18px; border-radius:6px 6px 0 0; font-size:15px; cursor:pointer;
           box-shadow:0 -2px 8px rgba(0,0,0,.15); }
.fbw-tab:hover { filter:brightness(1.08); }
.fbw-tab:focus-visible, .fbw button:focus-visible, .fbw textarea:focus-visible, .fbw input:focus-visible
    { outline:2px solid #2563eb; outline-offset:2px; }

/* The panel */
.fbw-panel { position:absolute; bottom:0; left:0; width:340px; max-width:calc(100vw - 16px); background:var(--fbw-bg);
             color:var(--fbw-text); border:1px solid var(--fbw-border); border-radius:10px 10px 0 0;
             box-shadow:0 8px 30px rgba(0,0,0,.22); padding:16px; display:none; }
.fbw[dir="rtl"] .fbw-panel { left:auto; right:0; }
.fbw.open .fbw-panel { display:block; animation:fbw-up .18s ease-out; }
.fbw.open .fbw-tab { visibility:hidden; }
@keyframes fbw-up { from { transform:translateY(12px); opacity:0; } to { transform:none; opacity:1; } }

.fbw-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.fbw-title { font-size:16px; font-weight:600; margin:0; }
.fbw-close { background:none; border:0; font-size:22px; line-height:1; cursor:pointer; color:var(--fbw-muted); padding:2px 6px; }

.fbw-label { font-size:13px; color:var(--fbw-muted); margin:0 0 8px; }
.fbw-rating { display:flex; justify-content:space-between; gap:6px; margin-bottom:14px; }
.fbw-face { flex:1; background:#f4f4f4; border:2px solid transparent; border-radius:8px; font-size:26px;
            padding:8px 0; cursor:pointer; transition:transform .1s, background .1s; }
.fbw-face:hover { transform:scale(1.08); background:#eaeaea; }
.fbw-face[aria-checked="true"] { border-color:var(--fbw-accent); background:#f8f6ff; }

.fbw textarea, .fbw input[type=email] { width:100%; border:1px solid var(--fbw-border); border-radius:6px;
            padding:8px 10px; font-size:14px; resize:vertical; margin-bottom:10px; }
.fbw textarea { min-height:90px; }
.fbw-submit { width:100%; background:var(--fbw-accent); color:#fff; border:0; border-radius:6px;
              padding:10px; font-size:15px; cursor:pointer; }
.fbw-submit:disabled { opacity:.5; cursor:not-allowed; }
.fbw-error { color:#b00020; font-size:13px; margin:0 0 8px; display:none; }
.fbw-thanks { text-align:center; padding:24px 0; display:none; }
.fbw-thanks .big { font-size:40px; }
.fbw.done .fbw-form { display:none; }
.fbw.done .fbw-thanks { display:block; }
