.privacy-notice{position:fixed;right:20px;bottom:20px;z-index:200;width:min(370px,calc(100vw - 40px));padding:20px 44px 20px 20px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px #0000002e}
.privacy-notice h2{font-family:var(--display);font-size:15px;font-weight:700;margin:0 0 8px;letter-spacing:-.2px}
.privacy-notice p{margin:0 0 8px;font-size:13px;line-height:1.55;color:var(--muted)}
.privacy-notice p:last-child{margin-bottom:0}
.privacy-notice a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.privacy-notice a:hover{color:var(--lime)}
.privacy-notice-person{position:relative;border-bottom:1px dotted currentColor;cursor:help}
.privacy-notice-person::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:230px;padding:8px 10px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:12px;line-height:1.4;text-align:center;opacity:0;visibility:hidden;transition:opacity 140ms;pointer-events:none}
.privacy-notice-person:hover::after,.privacy-notice-person:focus-visible::after{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){.privacy-notice-person::after{transition:none}}

.privacy-notice-close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.privacy-notice-close:hover{background:var(--panel2);color:var(--ink)}
.privacy-notice-close svg{width:16px;height:16px}

.chat-launcher{position:fixed;right:20px;bottom:20px;z-index:150;display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border:0;border-radius:50%;background:var(--lime);color:#13170e;cursor:pointer;box-shadow:0 10px 26px #0000003d;transition:transform 160ms}
.chat-launcher:hover{transform:translateY(-2px)}
.chat-launcher svg{width:24px;height:24px}
.chat-launcher.is-loading{opacity:.6;cursor:progress}

/* While the notice occupies the corner, the chat button waits above it. */
.chat-launcher{bottom:calc(20px + var(--privacy-notice-offset,0px))}

@media(max-width:600px){
  .privacy-notice{right:12px;left:12px;bottom:12px;width:auto}
  .chat-launcher{right:16px;bottom:calc(16px + var(--privacy-notice-offset,0px))}
}
@media(prefers-reduced-motion:reduce){.chat-launcher{transition:none}.chat-launcher:hover{transform:none}}
