/* Homepage — guide face menu + Chat with X Big X overlay */
.guide-menu{
  position:absolute;left:34px;top:28px;
  width:180px;background:#fff;border:1px solid rgba(10,10,10,.1);
  border-radius:10px;padding:6px;box-shadow:none;z-index:5;
  opacity:0;pointer-events:none;transform:translateY(4px);
  transition:opacity .15s ease,transform .15s ease;
}
.guide-traveler.chat-left .guide-menu{left:auto;right:34px}
.guide-menu.is-on{opacity:1;pointer-events:auto;transform:none}
.guide-menu button{
  display:flex;align-items:center;gap:8px;width:100%;
  border:0;background:transparent;text-align:left;
  padding:10px 10px;border-radius:8px;cursor:pointer;
  font:inherit;font-size:13px;font-weight:500;color:#0a0a0a;
}
.guide-menu button:hover{background:#f4f4f5}
.guide-menu button.is-on{background:#0a0a0a;color:#fff}
.guide-menu button.is-on:hover{background:#1a1a1a}
.guide-menu svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

.ai-overlay{
  position:fixed;inset:0;z-index:120;
  background:rgba(10,10,10,.28);
  display:none;align-items:center;justify-content:center;
  padding:24px;
}
.ai-overlay.is-on{display:flex}
.ai-sheet{
  width:min(420px,100%);
  height:min(560px,85vh);
  background:#fff;border:1px solid rgba(10,10,10,.1);
  border-radius:10px;
  display:flex;flex-direction:column;overflow:hidden;
}
.ai-sheet-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px;border-bottom:1px solid rgba(10,10,10,.1);
}
.ai-sheet-head h2{font-size:16px;font-weight:600;letter-spacing:-.02em}
.ai-sheet-head p{font-size:12px;color:#a1a1aa;margin-top:2px}
.ai-sheet-close{
  width:32px;height:32px;border:1px solid rgba(10,10,10,.1);
  border-radius:10px;background:#fff;cursor:pointer;font-size:18px;line-height:1;
}
.ai-sheet .ai-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.ai-sheet .ai-msg{
  max-width:92%;padding:12px;border-radius:10px;font-size:13px;line-height:1.45;white-space:pre-wrap;
}
.ai-sheet .ai-msg-bot{background:#f4f4f5;align-self:flex-start}
.ai-sheet .ai-msg-user{background:#0a0a0a;color:#fff;align-self:flex-end}
.ai-sheet .ai-presets{
  display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px;
}
.ai-sheet .ai-preset{
  border:1px solid rgba(10,10,10,.12);background:#fff;color:#0a0a0a;
  border-radius:999px;padding:6px 10px;font-size:11px;line-height:1.2;
  cursor:pointer;text-align:left;
}
.ai-sheet .ai-preset:hover{background:#f4f4f5;border-color:#0a0a0a}
.ai-sheet .ai-form{
  display:flex;gap:8px;align-items:center;margin:0 16px 16px;
  border:1px solid rgba(10,10,10,.1);border-radius:10px;
  padding:4px 4px 4px 12px;background:#fafafa;
}
.ai-sheet .ai-form input{
  flex:1;border:0;background:transparent;outline:none;font:inherit;font-size:13px;padding:8px 0;
}
.ai-sheet .ai-form button{
  width:32px;height:32px;border:0;border-radius:10px;background:#0a0a0a;color:#fff;
  display:grid;place-items:center;cursor:pointer;
}
.ai-sheet .ai-form button svg{width:14px;height:14px}

.mp-hand{
  position:fixed;right:16px;bottom:16px;z-index:80;
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
}
.mp-hand-btn{
  border:1px solid rgba(10,10,10,.1);border-radius:10px;
  padding:8px 12px;background:#fff;color:#0a0a0a;
  font-size:12px;font-weight:600;cursor:pointer;
}
.mp-hand-btn.is-on{background:#0a0a0a;color:#fff}
.mp-hand-stop{
  background:#0a0a0a;color:#fff;border-color:#0a0a0a;
  font-weight:500;
}
.mp-hand-stop:hover{opacity:.88}
.mp-hand-preview{
  width:128px;height:96px;border-radius:10px;overflow:hidden;
  background:#111;border:1px solid rgba(10,10,10,.1);
  display:none;position:relative;
}
.mp-hand-preview.is-on{display:block}
.mp-hand-preview video,.mp-hand-preview canvas{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.mp-hand-hint{
  font-size:11px;color:#52525b;background:#fff;
  border:1px solid rgba(10,10,10,.1);border-radius:10px;
  padding:8px 12px;max-width:200px;text-align:right;
  line-height:1.4;
}
.mp-hand-hint strong{
  display:block;
  color:#0a0a0a;font-weight:600;margin-bottom:2px;
}
@media(max-width:900px){
  .mp-hand,.guide-menu{display:none!important}
}
