.bf-agent-dialog{position:fixed;right:22px;bottom:88px;left:auto;top:auto;margin:0;padding:0;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 116px));max-height:min(620px,calc(100vh - 116px));border:1px solid var(--glass-border,rgba(0,0,0,.10));border-radius:20px;background:var(--glass-surface,rgba(255,255,255,.68));color:var(--text,#182438);box-shadow:var(--glass-shadow,0 8px 32px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.08)),inset 0 1px 0 var(--glass-highlight,rgba(255,255,255,.55));font:13px/1.5 system-ui,sans-serif;overflow:hidden;display:flex;flex-direction:column;z-index:9000;backdrop-filter:blur(var(--glass-blur,20px)) saturate(160%);-webkit-backdrop-filter:blur(var(--glass-blur,20px)) saturate(160%);animation:bfChatIn .2s ease both}
.bf-agent-dialog:not([open]){display:none!important}
/* dialog.showModal() (see agent-workspace.js) paints this ::backdrop behind
   the panel. It exists only so the browser makes the rest of the page inert
   and non-scrollable (the actual bug fix); it is kept nearly invisible on
   purpose, in both desktop and mobile, so opening Billie still looks like
   the same undimmed corner widget it was before the showModal() switch. */
.bf-agent-dialog::backdrop{background:rgba(0,0,0,.03)}
@media(max-width:768px){.bf-agent-dialog::backdrop{background:rgba(0,0,0,.03)}}
/* More see-through glass specifically for Billie's panel -- lower the
   surface opacity than the platform's shared --glass-surface default, in
   both themes, without touching that token globally (other glass surfaces
   elsewhere in the app are unaffected). */
.bf-agent-dialog{--glass-surface:rgba(255,255,255,.40)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .bf-agent-dialog{--glass-surface:rgba(30,33,40,.42)}}
html[data-theme="dark"] .bf-agent-dialog{--glass-surface:rgba(30,33,40,.42)}
.bf-agent-dialog header{display:flex;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--glass-border,rgba(0,0,0,.10));flex:0 0 auto;flex-wrap:nowrap}
.bf-agent-header-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.bf-agent-dialog h2{font-size:14px;margin:0;font-weight:800}.bf-agent-status{font-size:11px;color:var(--text2,#596577);display:block}.bf-agent-header-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}
.bf-agent-body{padding:14px 12px 10px;flex:1 1 auto;min-height:0;overflow-y:auto}.bf-agent-body h3{margin:0 0 8px;font-size:14px;overflow-wrap:anywhere}
.bf-agent-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px 18px 20px}
.bf-agent-empty-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--bg2,#f3f5f9);margin-bottom:12px;animation:bf-agent-float 3s ease-in-out infinite}
.bf-agent-empty-icon .bf-mascot{width:28px;height:28px}
.bf-agent-empty-greeting{font-size:16px;font-weight:700;letter-spacing:-.3px;margin-bottom:3px}
.bf-agent-empty-prompt{font-size:12px;color:var(--text2,#596577);max-width:200px}
.bf-agent-dialog button{font:inherit;cursor:pointer;border:1px solid var(--border,#ccd5e2);border-radius:9px;background:var(--bg2,#fff);color:inherit;padding:8px 12px;margin:4px 6px 4px 0;font-size:12.5px}
.bf-agent-dialog .bf-agent-icon-btn{width:28px;height:28px;padding:0;margin:0;border-radius:50%;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.bf-agent-dialog .bf-agent-icon-btn:hover{background:var(--bg2,#eef1f6)}
.bf-agent-icon-btn svg{width:14px;height:14px}
.bf-agent-icon-btn.is-spinning svg{animation:bf-agent-spin .6s cubic-bezier(.34,1.56,.64,1)}
.bf-agent-dialog button:disabled{opacity:.5;cursor:wait}.bf-agent-dialog .bf-agent-primary{background:#147bff;color:white;border-color:#147bff}
.bf-agent-dialog .bf-agent-danger{background:#c0392b;color:white;border-color:#c0392b}
.bf-agent-delete-warning{background:var(--bg2,#fff);border:1px solid #c0392b;border-radius:9px;padding:12px;margin:12px 0}
.bf-agent-delete-warning h4{margin:0 0 4px;color:#c0392b}
.bf-agent-delete-warning ul{margin:8px 0 0;padding-left:20px}
.bf-agent-example{display:block;text-align:left;width:100%}.bf-agent-plan{padding-left:22px;color:var(--text2,#596577)}
.bf-agent-event{border-left:3px solid #c5d6ef;padding:8px 12px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg2,#fff);border-radius:0 8px 8px 0}
.bf-agent-event.saved{border-color:#218451}.bf-agent-event.answer{border-color:#147bff}.bf-agent-event.error,.bf-agent-error{color:var(--danger,#bb3344)}
.bf-agent-review{background:var(--bg2,#fff);padding:16px;border-radius:12px;border:1px solid var(--border,#d5dce8)}
.bf-agent-review fieldset{border:1px solid var(--border,#ccd5e2);border-radius:9px;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;padding:12px}
.bf-agent-review label{display:flex;flex-direction:column;gap:5px}.bf-agent-dialog input,.bf-agent-dialog select,.bf-agent-dialog textarea{box-sizing:border-box;max-width:100%;min-width:0;font:inherit;color:inherit;background:var(--bg2,#fff);border:1px solid var(--border,#ccd5e2);padding:10px;border-radius:7px}
.bf-agent-composer{padding:10px 12px 12px;border-top:1px solid var(--glass-border,rgba(0,0,0,.10));flex:0 0 auto}.bf-agent-composer textarea{width:100%;resize:none;font-size:13.5px}.bf-agent-files{display:block;overflow-wrap:anywhere;min-height:1px;font-size:11px}
.bf-agent-composer-row{display:flex;gap:8px;align-items:center;background:var(--bg2,#eef1f6);border:1.5px solid var(--glass-border,rgba(0,0,0,.10));border-radius:20px;padding:6px 6px 6px 14px;box-shadow:0 1px 3px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.4);transition:background 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
.bf-agent-composer-row:focus-within{background:var(--bg3,#e3e8f0);border-color:#147bff;box-shadow:0 0 0 3px rgba(20,123,255,.16),0 2px 8px rgba(20,123,255,.12)}
.bf-agent-input-wrap{position:relative;flex:1;min-width:0}
.bf-agent-composer textarea{background:transparent;border:none;padding:8px 2px;margin:0;line-height:1.4}
.bf-agent-composer textarea:focus{outline:none}
.bf-agent-composer textarea::placeholder{color:var(--text3,#8a94a6)}
.bf-agent-typeover{position:absolute;inset:0;display:flex;align-items:center;padding:6px 2px;color:var(--text2,#596577);cursor:text;white-space:nowrap;overflow:hidden;font-size:13px}
.bf-agent-typeover[hidden]{display:none}
.bf-agent-typeover-caret{display:inline-block;width:1px;height:14px;background:currentColor;margin-left:1px;animation:bf-agent-caret 1s steps(1) infinite}
.bf-agent-attach-btn{position:relative;overflow:hidden;width:30px;height:30px;border-radius:50%;border:1px solid var(--border,#ccd5e2);background:var(--bg,#fff);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:transform 150ms ease,border-color 150ms ease}
.bf-agent-attach-btn:hover{border-color:#147bff}
.bf-agent-attach-btn svg{width:14px;height:14px;transition:transform 200ms ease}
.bf-agent-attach-btn:hover svg{transform:rotate(90deg)}
.bf-agent-attach-btn input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bf-agent-dialog .bf-agent-send-btn{width:32px;height:32px;padding:0;margin:0;border-radius:50%;border:none;background:linear-gradient(135deg,#0060C0,#0A6E63);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 10px rgba(20,123,255,.32);transition:transform 150ms ease,box-shadow 150ms ease}
.bf-agent-dialog .bf-agent-send-btn:hover{transform:scale(1.08);box-shadow:0 4px 14px rgba(20,123,255,.45)}.bf-agent-dialog .bf-agent-send-btn:active{transform:scale(.9)}.bf-agent-dialog .bf-agent-send-btn svg{width:15px;height:15px}
.bf-agent-dialog .bf-agent-send-btn:disabled{background:var(--bg3,#d8dee6);box-shadow:none}
.bf-agent-dialog footer{padding:6px 12px 10px;font-size:9.5px;line-height:1.4;color:var(--text2,#596577);flex:0 0 auto}.bf-agent-dialog :focus-visible{outline:3px solid #147bff;outline-offset:3px}
@media(max-width:540px){.bf-agent-review fieldset{grid-template-columns:1fr}}
@media(max-width:768px){
  .bf-agent-dialog{left:8px;right:8px;bottom:calc(var(--bf-mobile-nav-h,64px) + var(--bf-safe-bottom,0px) + 10px);width:auto;height:min(74dvh,620px);min-height:380px;max-height:calc(var(--bf-viewport-h,100dvh) - var(--bf-mobile-nav-h,64px) - var(--bf-safe-bottom,0px) - 20px);border-radius:22px;z-index:930}
  .bf-agent-dialog header{min-height:52px;padding:9px 10px 9px 12px}
  .bf-agent-body{padding:12px 11px 8px}
  .bf-agent-bubble{max-width:94%;font-size:13px}
}
@media(max-width:380px){.bf-agent-dialog{left:5px;right:5px;border-radius:19px}}
.bf-agent-subscriptions{font-size:12px}.bf-agent-subscriptions h3{font-size:14px;margin:2px 0 6px}.bf-agent-subscriptions>p{font-size:11.5px;color:var(--text2,#596577);margin:0 0 8px}
.bf-agent-subscription{border:1px solid var(--border,#ccd5e2);background:var(--bg2,#fff);border-radius:12px;padding:10px 12px;margin:8px 0}.bf-agent-sub-head{display:flex;align-items:center;gap:8px}.bf-agent-sub-logo{width:28px;height:28px;border-radius:8px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border,#ccd5e2)}.bf-agent-sub-logo img{width:100%;height:100%;object-fit:contain;background:#fff}.bf-agent-sub-logo-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--ac,#0B63CE);background:var(--bg2,#eef1f6)}.bf-agent-subscription h4{margin:0;font-size:13px;font-weight:700;overflow-wrap:anywhere;min-width:0}.bf-agent-subscription p{font-size:11.5px;margin:4px 0}.bf-agent-subscription label{display:flex;flex-direction:column;gap:4px;margin:6px 0;font-size:10.5px;font-weight:600;color:var(--text2,#596577)}.bf-agent-subscription select{height:32px;padding:0 9px;font-size:12px;border-radius:8px}
.bf-agent-link{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;margin:8px 8px 0 0;border-radius:9px;font-size:12px;font-weight:700;font-family:inherit;background:#0A4FA0;color:#fff;text-decoration:none;border:1px solid #0A4FA0;text-shadow:0 1px 1px rgba(0,0,0,.15);transition:background-color .15s,transform .15s}
.bf-agent-link:hover{background:#083D80}
.bf-agent-link-ghost{display:inline-flex;align-items:center;height:26px;padding:0 4px;margin:6px 0 0;border:none;background:transparent;color:var(--text3,#8a94a6);font-size:11px;font-weight:600;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .15s}
.bf-agent-link-ghost:hover{color:var(--re,#e5484d)}
.bf-agent-subscription small{display:block;margin-top:4px;font-size:10px;color:var(--text2,#596577)}
.bf-mascot{--bf-mascot-body:#147bff;--bf-mascot-eyes:#ffffff;--bf-eye-x:1px;--bf-eye-y:-1px;position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;color:var(--bf-mascot-eyes);background:var(--bf-mascot-body);border-radius:58% 42% 55% 45%/52% 58% 42% 48%;transform:rotate(-7deg);animation:bf-mascot-blob 9s ease-in-out infinite;transition:transform 440ms cubic-bezier(.22,1.5,.5,1);isolation:isolate}
.bf-mascot[data-awake="true"]{transform:rotate(6deg) scale(1.05);--bf-eye-y:-4px}
.bf-mascot[data-awake="true"][data-gaze="down"]{--bf-eye-x:1px;--bf-eye-y:4px}
.bf-mascot[data-awake="true"][data-gaze="left"]{--bf-eye-x:-4px;--bf-eye-y:-1px}
.bf-mascot[data-awake="true"][data-gaze="right"]{--bf-eye-x:4px;--bf-eye-y:-1px}
.bf-mascot__eyes{display:flex;gap:9px;transform:translate(var(--bf-eye-x),var(--bf-eye-y));transition:transform 300ms ease}
.bf-mascot__eye{display:block;width:4.5px;height:11px;border-radius:5px;background:currentColor;animation:bf-mascot-blink 6.5s infinite}
.bf-mascot[data-size="compact"]{width:32px;height:32px;transform:none}
.bf-mascot[data-size="compact"] .bf-mascot__eyes{gap:6px;transform:none}
.bf-mascot[data-size="compact"] .bf-mascot__eye{width:3.5px;height:8px}
.bf-mascot[data-size="brand"]{width:22px;height:22px;transform:none}
.bf-mascot[data-size="brand"] .bf-mascot__eyes{gap:4px;transform:none}
.bf-mascot[data-size="brand"] .bf-mascot__eye{width:2.5px;height:5px}
.bf-mascot::after{content:"";position:absolute;inset:-6px;border:2px solid #34C759;border-radius:inherit;opacity:.28;pointer-events:none;box-shadow:0 0 7px 0 rgba(52,199,89,.3);animation:bf-mascot-glow-pulse 2.8s ease-in-out infinite}
/* Theme-aware mascot coloring: blue on light backgrounds, white on dark ones
   (matches the platform's existing light/dark override convention). */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bf-mascot{--bf-mascot-body:#ffffff;--bf-mascot-eyes:#0B63CE}}
html[data-theme="dark"] .bf-mascot{--bf-mascot-body:#ffffff;--bf-mascot-eyes:#0B63CE}
.bf-mascot[data-state="listening"]::after{border-color:var(--bf-mascot-body);box-shadow:none;animation:bf-mascot-listening 1.4s ease-out infinite}
.bf-assistant-trigger{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;min-width:44px;min-height:44px;padding:8px;border:1px solid rgba(127,127,127,.25);border-radius:50%;background:var(--bf-assistant-surface,var(--bg2,#151923));box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:pointer;transition:transform 180ms ease}
.bf-assistant-trigger:hover{transform:translateY(-2px)}
.bf-assistant-trigger:active{transform:scale(.97)}
.bf-assistant-trigger:focus-visible{outline:3px solid var(--bf-assistant-focus,#147bff);outline-offset:4px}
@keyframes bf-mascot-blob{0%,100%{border-radius:58% 42% 55% 45%/52% 58% 42% 48%}33%{border-radius:45% 55% 48% 52%/58% 44% 56% 42%}66%{border-radius:52% 48% 42% 58%/45% 52% 48% 55%}}
@keyframes bf-mascot-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.12)}}
@keyframes bf-mascot-listening{0%{opacity:.6;transform:scale(.95)}100%{opacity:0;transform:scale(1.35)}}
.bf-mascot[data-state="thinking"]{animation:bf-mascot-blob 9s ease-in-out infinite,bf-mascot-thinking-bounce .85s ease-in-out infinite}
.bf-mascot[data-state="thinking"] .bf-mascot__eyes{animation:bf-mascot-thinking-scan .85s ease-in-out infinite}
@keyframes bf-mascot-thinking-bounce{0%,100%{transform:translateY(0) rotate(-7deg) scale(1)}50%{transform:translateY(-3px) rotate(-2deg) scale(1.04)}}
@keyframes bf-mascot-thinking-scan{0%,100%{transform:translate(calc(-2px + var(--bf-eye-x,0px)),var(--bf-eye-y,0px))}50%{transform:translate(calc(2px + var(--bf-eye-x,0px)),var(--bf-eye-y,0px))}}
@keyframes bf-mascot-glow-pulse{0%,100%{opacity:.22;box-shadow:0 0 5px 0 rgba(52,199,89,.25);transform:scale(1)}50%{opacity:.6;box-shadow:0 0 12px 2px rgba(52,199,89,.5);transform:scale(1.03)}}
@keyframes bf-agent-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes bf-agent-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes bf-agent-caret{0%,50%{opacity:1}50.01%,100%{opacity:0}}
@media (prefers-reduced-motion: reduce){.bf-mascot,.bf-mascot__eye,.bf-mascot__eyes,.bf-mascot::after,.bf-assistant-trigger,.bf-agent-dialog,.bf-agent-empty-icon,.bf-agent-icon-btn.is-spinning svg,.bf-agent-typeover-caret,.bf-agent-send-btn,.bf-agent-attach-btn svg,.bf-agent-voice-overlay{animation:none!important;transition:none!important}.bf-mascot[data-state="listening"]::after{opacity:.6;transform:none}}
.bf-mascot-scale-2{display:inline-flex;transform:scale(1.9);transform-origin:center}
.bf-agent-header-mascot{margin-right:2px}
.bf-agent-voice-overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 24px;text-align:center;background:var(--glass-surface,rgba(255,255,255,.72));backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);cursor:pointer;animation:bf-agent-voice-fade .22s ease both}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bf-agent-voice-overlay{background:rgba(20,22,28,.78)}}
html[data-theme="dark"] .bf-agent-voice-overlay{background:rgba(20,22,28,.78)}
.bf-agent-voice-overlay[hidden]{display:none}
@keyframes bf-agent-voice-fade{0%{opacity:0}100%{opacity:1}}
.bf-agent-voice-overlay-mascot{transform:scale(3.1);transform-origin:center;margin-bottom:6px}
.bf-agent-voice-overlay-text{margin:0;font-size:15px;font-weight:600;line-height:1.4;color:var(--text,#182438);min-height:21px;max-width:280px;overflow-wrap:anywhere}
.bf-agent-voice-overlay-hint{margin:0;font-size:12px;color:var(--text2,#596577)}
.bf-agent-turn{display:flex;flex-direction:column;gap:2px;margin:10px 0;max-width:86%}
.bf-agent-turn.is-user{margin-left:auto;align-items:flex-end}
.bf-agent-turn.is-assistant{margin-right:auto;align-items:flex-start}
.bf-agent-bubble{border-radius:14px;padding:9px 12px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.bf-agent-turn.is-user .bf-agent-bubble{background:#147bff;color:#fff;border-bottom-right-radius:4px}
.bf-agent-turn.is-assistant .bf-agent-bubble{background:var(--bg2,#fff);border:1px solid var(--border,#d5dce8);border-bottom-left-radius:4px}
.bf-agent-turn.is-assistant .bf-agent-bubble.saved{border-color:#218451}
.bf-agent-turn.is-assistant .bf-agent-bubble.error{border-color:var(--danger,#bb3344);color:var(--danger,#bb3344)}
.bf-agent-working-bubble{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px}
.bf-agent-working-bubble .bf-mascot{flex-shrink:0}
.bf-agent-working-label{font-size:12.5px;color:var(--text2,#596577);animation:bf-agent-working-fade 1.4s ease-in-out infinite}
@keyframes bf-agent-working-fade{0%,100%{opacity:.55}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.bf-agent-working-label{animation:none}}
.bf-agent-suggestions{display:flex;flex-direction:column;gap:8px;margin:14px 0}
.bf-agent-dialog .bf-agent-mic{flex-shrink:0;width:30px;height:30px;padding:0;margin:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border,#ccd5e2);background:var(--bg,#fff);cursor:pointer;transition:border-color 150ms ease}.bf-agent-dialog .bf-agent-mic svg{width:14px;height:14px}.bf-agent-dialog .bf-agent-mic:hover{border-color:#147bff}
.bf-agent-dialog .bf-agent-mic[aria-pressed="true"]{background:#bb3344;border-color:#bb3344;color:#fff}
.bf-agent-status-text{font-size:12px;color:var(--text2,#596577);min-height:16px}
@supports (padding:max(0px)){.bf-agent-dialog{padding-bottom:env(safe-area-inset-bottom)}.bf-agent-composer{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}

/* Billie's one-time greeting bubble, anchored above the FAB. */
#bf-billie-greeting{position:fixed;right:16px;bottom:96px;max-width:236px;z-index:8899;padding:12px 34px 12px 14px;border-radius:16px;border:1px solid var(--glass-border,rgba(0,0,0,.10));background:var(--glass-surface,rgba(255,255,255,.9));backdrop-filter:blur(var(--glass-blur-light,12px)) saturate(160%);-webkit-backdrop-filter:blur(var(--glass-blur-light,12px)) saturate(160%);box-shadow:0 10px 30px rgba(0,0,0,.18);font:13px/1.4 system-ui,sans-serif;color:var(--text,#182438);opacity:0;transform:translateY(8px) scale(.96);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
#bf-billie-greeting.is-visible{opacity:1;transform:translateY(0) scale(1)}
#bf-billie-greeting::after{content:"";position:absolute;right:20px;bottom:-7px;width:14px;height:14px;background:inherit;border-right:1px solid var(--glass-border,rgba(0,0,0,.10));border-bottom:1px solid var(--glass-border,rgba(0,0,0,.10));transform:rotate(45deg);border-radius:0 0 3px 0}
#bf-billie-greeting strong{display:block;margin-bottom:2px;font-weight:800}
/* The bubble itself never intercepts clicks (pointer-events:none, even while
   visible) so it can never sit on top of and block the page's own controls
   (e.g. a bill row's edit/delete buttons) on narrow viewports where it
   stretches wide. Only its own close button opts back in to receive clicks,
   so it is deliberately anchored to the bubble's bottom-right corner (right
   by the tail, closest to the FAB) rather than its top-right: on short
   viewports the bubble's top edge can reach up over real page header
   controls (e.g. the Bills page's tour-start button), and a top-anchored
   close button would then be a second real clickable target sitting on top
   of that control. Anchored at the bottom, it stays confined to the strip
   of viewport right above the FAB, where no page content ever renders.
   min-height/min-width:0 override the site-wide 44px touch-target floor
   (button{min-height:44px;min-width:44px}) that would otherwise silently
   re-expand this back past its intended 26x26, undoing the containment. */
#bf-billie-greeting .bf-billie-greeting-close{position:absolute;bottom:5px;right:5px;width:26px;height:26px;min-height:0;min-width:0;border:none;border-radius:50%;background:transparent;color:var(--text3,#8a94a6);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;transition:background .15s,color .15s;pointer-events:auto}
#bf-billie-greeting .bf-billie-greeting-close:hover{background:var(--bg2,rgba(0,0,0,.06));color:var(--text,#182438)}
@media(prefers-reduced-motion:reduce){#bf-billie-greeting{transition:none}}
@media(max-width:480px){#bf-billie-greeting{right:10px;left:10px;max-width:none;bottom:calc(var(--bf-mobile-nav-h,64px) + var(--bf-safe-bottom,0px) + 78px)}}
