:root{ --ebc-bg:#ffffff; --ebc-fg:#111827; --ebc-muted:#6b7280; --ebc-border:#e5e7eb; --ebc-primary:#2563eb; --ebc-primary-fg:#ffffff; } .ebc-launcher{ position:fixed; right:18px; bottom:18px; width:54px; height:54px; border-radius:999px; border:1px solid var(--ebc-border); background:var(--ebc-primary); color:var(--ebc-primary-fg); cursor:pointer; box-shadow:0 10px 25px rgba(0,0,0,.12); font:600 14px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial; } .ebc-panel{ position:fixed; right:18px; bottom:84px; width:340px; height:460px; border:1px solid var(--ebc-border); background:var(--ebc-bg); color:var(--ebc-fg); border-radius:14px; box-shadow:0 14px 40px rgba(0,0,0,.14); display:none; overflow:hidden; font:400 13px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial; } .ebc-panel.ebc-open{ display:flex; flex-direction:column; } .ebc-header{ padding:12px 12px; border-bottom:1px solid var(--ebc-border); display:flex; align-items:center; justify-content:space-between; } .ebc-title{ font-weight:700; font-size:13px; } .ebc-header-actions{ display:flex; align-items:center; gap:6px; } .ebc-end{ border:0; background:transparent; cursor:pointer; color:var(--ebc-muted); font-size:12px; } .ebc-close{ border:0; background:transparent; cursor:pointer; color:var(--ebc-muted); font-size:18px; } .ebc-messages{ padding:12px; gap:8px; display:flex; flex-direction:column; overflow:auto; flex:1; } .ebc-msg{ max-width:85%; padding:9px 10px; border-radius:12px; border:1px solid var(--ebc-border); background:#f9fafb; } .ebc-msg.ebc-user{ margin-left:auto; background:#eff6ff; border-color:#dbeafe; } .ebc-msg.ebc-rich{ max-width:94%; padding:10px; background:#ffffff; } .ebc-intro{ margin:0 0 9px; color:var(--ebc-fg); } .ebc-card-list{ display:flex; flex-direction:column; gap:8px; } .ebc-card{ display:grid; grid-template-columns:24px 1fr; gap:8px; padding:9px; border:1px solid var(--ebc-border); border-radius:8px; background:#f9fafb; } .ebc-card-number{ width:22px; height:22px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:var(--ebc-primary); color:var(--ebc-primary-fg); font-size:11px; font-weight:700; line-height:1; } .ebc-card-text{ min-width:0; overflow-wrap:anywhere; } .ebc-meta{ font-size:11px; color:var(--ebc-muted); margin-top:2px; } .ebc-msg.ebc-places{ max-width:96%; background:#ffffff; } .ebc-place-list{ display:flex; flex-direction:column; gap:9px; } .ebc-place-card{ display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid var(--ebc-border); border-radius:8px; background:#ffffff; box-shadow:0 6px 16px rgba(17,24,39,.06); } .ebc-place-head{ display:flex; gap:9px; align-items:flex-start; } .ebc-place-pin{ width:26px; height:26px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:#ecfdf5; color:#047857; font-weight:800; flex:0 0 auto; } .ebc-place-title-wrap{ min-width:0; } .ebc-place-name{ margin:0; font-size:13px; line-height:1.25; font-weight:750; overflow-wrap:anywhere; } .ebc-place-rating{ margin-top:2px; color:#92400e; font-size:11px; font-weight:650; } .ebc-place-address{ margin:0; color:var(--ebc-muted); font-size:12px; overflow-wrap:anywhere; } .ebc-place-tags{ display:flex; flex-wrap:wrap; gap:5px; } .ebc-place-tag{ padding:3px 7px; border-radius:999px; background:#f3f4f6; color:#374151; font-size:11px; } .ebc-place-map{ align-self:flex-start; color:var(--ebc-primary); font-size:12px; font-weight:700; text-decoration:none; } .ebc-place-map:hover{ text-decoration:underline; } .ebc-msg.ebc-foods{ max-width:96%; background:#ffffff; } .ebc-food-list{ display:flex; flex-direction:column; gap:9px; } .ebc-food-card{ display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid var(--ebc-border); border-radius:8px; background:#ffffff; box-shadow:0 6px 16px rgba(17,24,39,.06); } .ebc-food-icon{ width:26px; height:26px; border-radius:8px; display:flex; align-items:center; justify-content:center; background:#fff7ed; color:#c2410c; font-size:14px; flex:0 0 auto; } .ebc-food-tag{ padding:3px 7px; border-radius:999px; background:#fff7ed; color:#9a3412; font-size:11px; } .ebc-inputbar{ padding:10px; border-top:1px solid var(--ebc-border); display:flex; gap:8px; align-items:center; } .ebc-input{ flex:1; border:1px solid var(--ebc-border); border-radius:10px; padding:9px 10px; outline:none; } .ebc-send{ border:1px solid var(--ebc-border); background:var(--ebc-primary); color:var(--ebc-primary-fg); border-radius:10px; padding:9px 12px; cursor:pointer; font-weight:600; } .ebc-error{ color:#b91c1c; font-size:12px; padding:0 12px 10px; display:none; }