/* 官網右下角的小珠子：跟後台的珠子同一種做法（亮點＋漸層＋發光邊），綠色，右上角一個紅點（Claude） */
#home-orb { position:fixed; right:22px; bottom:22px; z-index:60; width:52px; height:52px; padding:0; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:none;
  border:2px solid transparent;
  background:radial-gradient(circle at 35% 30%, rgba(255,255,255,.22), transparent 55%) padding-box,
             linear-gradient(135deg, #10c98a 0%, #06a86e 42%, #0a8f73 72%, #0f7a8c 100%) padding-box,
             linear-gradient(135deg, #7dffcb 0%, #2ee59d 45%, #36d1c4 75%, #b8ffdf 100%) border-box;
  box-shadow:0 0 6px rgba(80,255,190,.55), 0 0 16px rgba(20,200,140,.55), 0 0 26px rgba(30,210,190,.35), inset 0 0 10px rgba(255,255,255,.14);
  transition:transform .2s ease, filter .2s ease; }
#home-orb:hover { transform:translateY(-2px) scale(1.05); filter:brightness(1.08); }
#home-orb svg { width:26px; height:26px; filter:drop-shadow(0 0 3px rgba(255,255,255,.85)) drop-shadow(0 0 6px rgba(160,255,220,.6)); }
#home-orb .home-orb-dot { position:absolute; top:1px; right:1px; width:13px; height:13px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #ffe3e3, #ffb3b3 60%, #ff9a9a); border:2px solid #fff; box-shadow:0 0 6px rgba(255,150,150,.6); }   /* 淡紅點 */
#home-orb .home-orb-dot[hidden] { display:none; }
/* 對話框：玻璃質感（static/home-orb-20261015.js） */
.ho-panel { position:fixed; right:22px; bottom:86px; z-index:61; width:min(360px, calc(100vw - 32px)); height:min(520px, calc(100vh - 120px));
  display:flex; flex-direction:column; border-radius:20px; overflow:hidden;
  background:linear-gradient(160deg, rgba(255,255,255,.72), rgba(236,252,246,.55)); border:1px solid rgba(255,255,255,.75);
  -webkit-backdrop-filter:blur(18px) saturate(160%); backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 18px 48px rgba(16,60,50,.22), 0 0 0 1px rgba(46,229,157,.18), inset 0 1px 0 rgba(255,255,255,.9);
  opacity:0; transform:translateY(12px) scale(.98); pointer-events:none; transition:opacity .2s ease, transform .2s ease; }
.ho-panel.open { opacity:1; transform:none; pointer-events:auto; }
.ho-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 14px; border-bottom:1px solid rgba(16,120,90,.12); }
.ho-who { display:flex; align-items:center; gap:10px; min-width:0; }
.ho-avatar { width:34px; height:34px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; color:#fff; font-size:16px;
  background:linear-gradient(135deg, #10c98a, #0a8f73 70%, #0f7a8c); box-shadow:0 0 10px rgba(20,200,140,.45); }
.ho-name { display:flex; flex-direction:column; line-height:1.25; } .ho-name strong { color:#0f2a24; font-size:.95rem; } .ho-name small { color:#4f6b64; font-size:.72rem; }
.ho-close { border:0; background:rgba(255,255,255,.6); color:#2b4a43; width:30px; height:30px; border-radius:50%; font-size:20px; line-height:1; cursor:pointer; }
.ho-close:hover { background:#fff; }
.ho-list { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:8px; }
.ho-msg { max-width:82%; padding:9px 12px; border-radius:16px; font-size:.9rem; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.ho-msg.ai { align-self:flex-start; background:rgba(255,255,255,.85); color:#1d2d29; border:1px solid rgba(16,120,90,.10); border-bottom-left-radius:6px; }
.ho-msg.me { align-self:flex-end; background:linear-gradient(135deg, #10c98a, #0a9f78); color:#fff; border-bottom-right-radius:6px; }
.ho-msg.wait { color:#6b8a82; letter-spacing:2px; } .ho-msg.note { background:rgba(255,240,230,.9); color:#8a4a1c; font-size:.82rem; }
.ho-form { display:flex; gap:8px; padding:6px 12px 6px; }
.ho-chips { display:flex; gap:8px; padding:6px 12px 2px; }
.ho-chip { flex:1; display:flex; align-items:center; justify-content:center; gap:10px; padding:9px 14px; border-radius:14px; text-decoration:none; font-size:1rem; font-weight:700; color:#06893d;   /* 延展成整排 */
  background:rgba(255,255,255,.85); border:1px solid rgba(6,199,85,.35); box-shadow:0 2px 8px rgba(6,199,85,.12); }
.ho-chip:hover { background:#fff; border-color:#06c755; }
.ho-chip svg { width:28px; height:28px; flex:none; }
.ho-input { flex:1; resize:none; border:1px solid rgba(16,120,90,.2); border-radius:14px; padding:9px 12px; font:inherit; font-size:.9rem; background:rgba(255,255,255,.85); color:#1d2d29; max-height:96px; }
.ho-input:focus { outline:2px solid rgba(16,201,138,.45); outline-offset:0; }
.ho-send { border:0; border-radius:14px; padding:0 16px; font-weight:700; color:#fff; cursor:pointer; background:linear-gradient(135deg, #10c98a, #0a8f73); }
.ho-send:disabled { opacity:.55; cursor:default; }
.ho-left { margin:0; padding:0 14px 10px; font-size:.72rem; color:#5b7770; text-align:right; min-height:1em; }
.ho-msg a { color:inherit; text-decoration:underline; word-break:break-all; }
.ho-qr { display:flex; flex-direction:column; align-items:center; gap:6px; text-decoration:none !important; color:#0a7a55 !important; font-size:.8rem; font-weight:600; }
.ho-qr img { display:block; width:150px; height:150px; border-radius:10px; background:#fff; padding:6px; }
/* 進站提示：珠子彈跳＋「需要說明嗎？」 */
@keyframes hoBounce { 0%,100% { transform:translateY(0); } 30% { transform:translateY(-14px); } 50% { transform:translateY(0); } 65% { transform:translateY(-6px); } 80% { transform:translateY(0); } }
#home-orb.ho-bounce { animation:hoBounce 1.2s ease 0s 2; }
.ho-nudge { position:fixed; right:86px; bottom:28px; z-index:61; display:flex; align-items:center; gap:4px; padding:4px 4px 4px 6px; border-radius:999px;
  background:linear-gradient(160deg, rgba(255,255,255,.85), rgba(236,252,246,.7)); border:1px solid rgba(255,255,255,.8);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 10px 28px rgba(16,60,50,.2), 0 0 0 1px rgba(46,229,157,.2);
  animation:hoPop .35s ease; }
@keyframes hoPop { from { opacity:0; transform:translateX(10px) scale(.95); } to { opacity:1; transform:none; } }
.ho-nudge-ask { border:0; background:transparent; color:#0f2a24; font:inherit; font-size:.9rem; font-weight:700; padding:6px 8px; cursor:pointer; }
.ho-nudge-ask:hover { color:#0a8f73; }
.ho-nudge-x { border:0; background:rgba(16,120,90,.08); color:#4f6b64; width:24px; height:24px; border-radius:50%; cursor:pointer; line-height:1; font-size:15px; }
@media (max-width:760px) { .ho-nudge { right:72px; bottom:18px; } }
@media (max-width:760px) { #home-orb { right:14px; bottom:14px; width:48px; height:48px; } .ho-panel { right:12px; bottom:72px; height:min(70vh, calc(100vh - 100px)); } }

/* 首頁示範的語音訊息，照 LINE；原句用灰色小字放在下面（home-hero-player-…js、home-voice-demos-20261015.js） */
.bubble.voice-msg { background:none !important; padding:0 !important; box-shadow:none !important; display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.bubble.voice-msg .voice-pill { display:inline-flex; align-items:center; gap:10px; padding:11px 14px; border-radius:15px 3px 15px 15px; background:#d0f2d6; line-height:1.7; }
.bubble.voice-msg .voice-play { width:0; height:0; border-style:solid; border-width:6px 0 6px 10px; border-color:transparent transparent transparent #111; }
.bubble.voice-msg .voice-wave { display:inline-flex; align-items:center; gap:3px; height:20px; }
.bubble.voice-msg .voice-wave i { display:block; width:2px; border-radius:1px; background:#111; }
.bubble.voice-msg .voice-wave i:nth-child(1),.bubble.voice-msg .voice-wave i:nth-child(7){height:8px}.bubble.voice-msg .voice-wave i:nth-child(2),.bubble.voice-msg .voice-wave i:nth-child(6){height:13px}.bubble.voice-msg .voice-wave i:nth-child(3),.bubble.voice-msg .voice-wave i:nth-child(5){height:17px}.bubble.voice-msg .voice-wave i:nth-child(4){height:20px}
.bubble.voice-msg .voice-time { font-variant-numeric:tabular-nums; color:#111; }
.voice-caption { display:block; font-size:11px; line-height:1.4; color:#8a94a6; text-align:right; max-width:240px; }
.message.you p.voice-msg { display:inline-flex; align-items:center; gap:10px; color:#111; }
.message.you p.voice-msg .voice-play { width:0; height:0; border-style:solid; border-width:6px 0 6px 10px; border-color:transparent transparent transparent #111; }
.message.you p.voice-msg .voice-wave { display:inline-flex; align-items:center; gap:3px; height:20px; }
.message.you p.voice-msg .voice-wave i { display:block; width:2px; border-radius:1px; background:#111; }
.message.you p.voice-msg .voice-wave i:nth-child(1),.message.you p.voice-msg .voice-wave i:nth-child(7){height:8px}.message.you p.voice-msg .voice-wave i:nth-child(2),.message.you p.voice-msg .voice-wave i:nth-child(6){height:13px}.message.you p.voice-msg .voice-wave i:nth-child(3),.message.you p.voice-msg .voice-wave i:nth-child(5){height:17px}.message.you p.voice-msg .voice-wave i:nth-child(4){height:20px}
.message.you p.voice-msg .voice-time { font-variant-numeric:tabular-nums; color:#111; }
.message.you .voice-caption { margin-top:4px; }

/* 地圖預約示範的「點我測試」（home-cafe-cta-20261015.js）：品牌漸層字往上流動、雙箭頭往上 */
#cafe-demo-cta.cta-in-phone { position:absolute; z-index:2; margin:0; min-width:0; min-height:0; padding:2px 8px; transform:translate(-50%, -50%); gap:4px; background:none; border:0; border-radius:999px; font-size:clamp(14px, 1.3vw, 17px); font-weight:800; letter-spacing:.06em; line-height:1.2; white-space:nowrap; }
#cafe-demo-cta.cta-in-phone:hover { transform:translate(-50%, -50%) scale(1.06); }
#cafe-demo-cta .cta-text { background:linear-gradient(0deg, #2ee5a6, #7b9bff, #c48cff, #2ee5a6); background-size:100% 300%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:ctaFlow 2.4s linear infinite; }
@keyframes ctaFlow { from { background-position:0 0; } to { background-position:0 -300%; } }
#cafe-demo-cta .cta-chev { width:17px; height:19px; fill:none; stroke:url(#ctaChevGrad); stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; overflow:visible; }
#cafe-demo-cta .cta-chev path { animation:ctaUp 1.4s ease-in-out infinite; }
#cafe-demo-cta .cta-chev .c1 { animation-delay:0s; } #cafe-demo-cta .cta-chev .c2 { animation-delay:.25s; }
@keyframes ctaUp { 0% { opacity:.15; transform:translateY(3px); } 45% { opacity:1; transform:translateY(0); } 100% { opacity:.15; transform:translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { #cafe-demo-cta .cta-text, #cafe-demo-cta .cta-chev path { animation:none; } }

/* 顧問對話框頭像：星星圖取代綠色圓形 ✦ */
.ho-avatar { background:url(/static/home-orb-star-20261015.webp) center/contain no-repeat; box-shadow:none; border-radius:0; color:transparent; font-size:0; filter:drop-shadow(0 0 4px rgba(150,120,255,.35)); }

/* 不顯示「還可以聊 N 則」 */
.ho-left { display:none !important; }

/* 歡迎訊息下面的提問字卡（2×2） */
.ho-asks { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:6px 12px 0; }
.ho-ask { border:1px solid rgba(16,160,120,.28); background:rgba(255,255,255,.85); color:#0a7a5a; border-radius:14px; padding:8px 10px; font:inherit; font-size:.84rem; font-weight:700; line-height:1.35; cursor:pointer; text-align:center; }
.ho-ask:hover { background:#fff; border-color:#10c98a; }
