.bjj-ai-launch { position:fixed; left:calc(16px + env(safe-area-inset-left, 0px)); bottom:calc(18px + env(safe-area-inset-bottom, 0px)); z-index:198; min-height:48px; padding:12px 18px; border:1px solid #fff4; border-radius:28px; background:#b90d2c; color:#fff; font:700 14px/1.3 system-ui,sans-serif; cursor:pointer; box-shadow:0 6px 24px #0003; }
.bjj-ai-dialog { box-sizing:border-box; width:min(520px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); overflow:auto; padding:24px; border:1px solid var(--border-strong,#ccc); border-radius:20px; background:var(--surface,#fff); color:var(--ink,#171717); box-shadow:0 16px 60px #0005; }
.bjj-ai-dialog::backdrop { background:#0009; }
.bjj-ai-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.bjj-ai-header h2 { margin:0; font-size:1.4rem; }
.bjj-ai-dialog button,.bjj-ai-dialog textarea { font:inherit; }
.bjj-ai-dialog button { min-height:44px; cursor:pointer; border-radius:10px; padding:8px 12px; }
.bjj-ai-close,.bjj-ai-examples button { border:1px solid var(--border-strong,#ccc); background:var(--bg-alt,#eee); color:inherit; }
.bjj-ai-intro { margin:12px 0; }
.bjj-ai-examples { display:flex; flex-wrap:wrap; gap:8px; }
.bjj-ai-examples button { text-align:left; font-size:.85rem; }
.bjj-ai-output { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; margin:18px 0; padding:16px; border:1px solid var(--border-strong,#ccc); border-radius:12px; min-height:72px; }
.bjj-ai-form { display:grid; gap:8px; }
.bjj-ai-form label { font-weight:700; }
.bjj-ai-form textarea { box-sizing:border-box; width:100%; padding:12px; resize:vertical; max-height:180px; border:1px solid var(--border-strong,#aaa); border-radius:10px; color:inherit; background:var(--bg-alt,#f7f7f7); font-size:16px; }
.bjj-ai-send { border:0; background:#b90d2c; color:#fff; font-weight:700!important; }
.bjj-ai-send:disabled { opacity:.6; cursor:wait; }
.bjj-ai-disclosure,.bjj-ai-connection { font-size:.8rem; line-height:1.5; }
.bjj-ai-connection:empty { display:none; }
.bjj-ai-dialog a { color:inherit; text-decoration:underline; }
.bjj-ai-dialog :focus-visible,.bjj-ai-launch:focus-visible { outline:3px solid #e49a20; outline-offset:3px; }
@media(max-width:480px) { .bjj-ai-dialog { padding:18px; } }
@media print { .bjj-ai-launch,.bjj-ai-dialog { display:none!important; } }
