/* Ask Rhyline: website assistant (home section, launcher, panel, invitation). */

/* ---------- Home section ---------- */
.lp-ask{isolation:isolate;overflow:hidden;background:var(--navy);color:var(--on-dark)}
.lp-ask::after{content:"";position:absolute;z-index:-1;top:0;left:0;bottom:0;width:34%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Crect width='1.5' height='1.5' fill='%23FFFFFF' fill-opacity='.16'/%3E%3C/svg%3E");background-size:18px 18px;-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent);pointer-events:none}
.lp-ask__wm{position:absolute;z-index:-1;left:-.04em;bottom:-.17em;display:inline-flex;align-items:flex-end;gap:.035em;font-size:clamp(150px,27vw,430px);font-weight:700;line-height:.82;letter-spacing:-.06em;color:rgba(255,255,255,.05);white-space:nowrap;pointer-events:none;user-select:none}
.lp-ask__wm-mark{flex:none;width:.13em;height:.13em;margin-bottom:.19em;background:var(--accent);opacity:.5}
.lp-ask__grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap);align-items:center}
.lp-ask__intro{grid-column:1 / span 5}
.lp-ask .lp-askbox{grid-column:7 / span 6}
.lp-ask__label{color:#fff}
.lp-ask__label::before{display:none}
.lp-ask__dot{position:relative;flex:none;width:8px;height:8px;background:var(--accent)}
.lp-ask__dot::after{content:"";position:absolute;inset:-5px;border:1px solid var(--accent-dark);opacity:0;animation:lp-ask-ping 2.6s var(--ease) infinite}
.lp-ask__title{color:#fff;max-width:12em}
.lp-ask__lead{margin-top:28px;color:var(--on-dark-soft)}
.lp-ask__note{margin-top:28px;max-width:34em;padding-top:20px;border-top:1px solid var(--line-dark);color:var(--on-dark-muted)}
@keyframes lp-ask-ping{0%{transform:scale(.6);opacity:.9}70%,100%{transform:scale(1.5);opacity:0}}

/* ---------- Chat box (shared) ---------- */
.lp-askbox{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;color:var(--ink);font-family:var(--font)}
.lp-askbox--inline{min-height:540px;border-radius:var(--radius);box-shadow:0 2px 4px rgba(8,22,40,.12),0 40px 80px -36px rgba(0,0,0,.6)}
.lp-askbox__noscript{padding:24px;font-size:var(--fs-sm);color:var(--text)}
.lp-askbox__head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}
.lp-askbox__brand{display:inline-flex;align-items:flex-end;gap:3px;font-size:1.375rem;font-weight:700;line-height:.9;letter-spacing:-.055em;color:var(--ink)}
.lp-askbox__brand-mark{flex:none;width:6px;height:6px;margin-bottom:1px;background:var(--accent)}
.lp-askbox__sub{padding-left:12px;border-left:1px solid var(--line-strong);font-size:.6875rem;font-weight:600;line-height:1.2;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.lp-askbox__live{display:inline-flex;align-items:center;gap:7px;margin-left:auto;font-size:var(--fs-xs);color:var(--muted)}
.lp-askbox__live-dot{width:7px;height:7px;border-radius:50%;background:#2F9A66;box-shadow:0 0 0 3px rgba(47,154,102,.16)}

.lp-askbox__log{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:22px 22px 16px;scroll-behavior:smooth}
.lp-askbox--inline .lp-askbox__log{min-height:220px;max-height:440px}
.lp-askbox__log:focus{outline:none}
.lp-askbox__log:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}

.lp-askmsg{max-width:90%;font-size:var(--fs-sm);line-height:1.55}
.lp-askmsg__p+.lp-askmsg__p{margin-top:8px}
.lp-askmsg--ai{align-self:flex-start;padding:14px 16px;background:var(--paper);border-left:2px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink)}
.lp-askmsg--me{align-self:flex-end;padding:12px 16px;background:var(--navy);color:#fff;border-radius:var(--radius)}
.lp-askmsg--notice{border-left-color:var(--faint)}
.lp-askmsg.is-new{animation:lp-ask-in .45s var(--ease) both}
@keyframes lp-ask-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.lp-askmsg__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.lp-asklink{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;color:var(--navy);font-size:.875rem;font-weight:600;line-height:1.25;text-decoration:none;transition:border-color .25s var(--ease),background-color .25s var(--ease)}
.lp-asklink svg{flex:none;width:15px;height:15px;transition:transform .3s var(--ease)}
.lp-asklink:hover{border-color:var(--navy)}
.lp-asklink:hover svg{transform:translateX(3px)}

.lp-askmsg__talk{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.lp-askmsg__talk-q{font-size:var(--fs-xs);font-weight:600;color:var(--muted)}
.lp-askmsg__talk-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.lp-asktalk{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;color:var(--navy);font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .25s var(--ease),border-color .25s var(--ease)}
.lp-asktalk:hover{border-color:var(--navy)}
.lp-asktalk--call{border-color:var(--navy);background:var(--navy);color:#fff}
.lp-asktalk--call:hover{background:var(--navy-700);border-color:var(--navy-700)}
.lp-asktalk svg{flex:none}

.lp-askmsg--typing{display:inline-flex;align-items:center;gap:10px;color:var(--muted)}
.lp-askmsg__working{font-size:var(--fs-xs)}
.lp-askdots{display:inline-flex;gap:4px}
.lp-askdots i{width:6px;height:6px;background:var(--navy);opacity:.25;animation:lp-ask-dot 1.2s infinite}
.lp-askdots i:nth-child(2){animation-delay:.15s}
.lp-askdots i:nth-child(3){animation-delay:.3s;background:var(--accent)}
@keyframes lp-ask-dot{0%,80%,100%{opacity:.2;transform:none}40%{opacity:1;transform:translateY(-3px)}}

.lp-askbox__chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 22px 14px}
.lp-askbox__chips[hidden]{display:none}
.lp-askchip{display:inline-flex;align-items:center;max-width:100%;min-height:36px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;color:var(--navy);font-family:var(--font);font-size:.875rem;font-weight:500;line-height:1.3;text-align:left;cursor:pointer;transition:border-color .25s var(--ease),background-color .25s var(--ease),color .25s var(--ease)}
.lp-askchip:hover{border-color:var(--navy);background:var(--paper)}
.lp-askchip:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

.lp-askbox__form{display:flex;align-items:flex-end;gap:8px;margin:0 22px;padding:6px 6px 6px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fff;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.lp-askbox__form:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(14,43,80,.1)}
.lp-askbox__input{flex:1 1 auto;min-width:0;max-height:140px;padding:9px 0;border:0;background:transparent;color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.45;resize:none;outline:none;box-shadow:none}
.lp-askbox__input::placeholder{color:var(--faint)}
.lp-askbox__send{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius);background:var(--navy);color:#fff;cursor:pointer;transition:background-color .25s var(--ease),opacity .25s var(--ease)}
.lp-askbox__send:hover{background:var(--navy-700)}
.lp-askbox__send:disabled{opacity:.35;cursor:default}
.lp-askbox__send:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

.lp-askbox__fine{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;padding:10px 22px 18px;font-size:.75rem;line-height:1.4;color:var(--muted)}
.lp-askbox__fine a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.lp-askbox__fine a:hover{color:var(--navy)}
.lp-askbox__restart{margin-left:auto;padding:0;border:0;background:none;color:var(--navy);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.lp-askbox__restart[hidden]{display:none}

/* ---------- Round button, invitation, chat window ---------- */
.lp-askmsg__p,.lp-askmsg__talk-q,.lp-askbox__fine,.lp-askbox__noscript{margin:0}
.lp-askbox .lp-askbox__input:focus,.lp-askbox .lp-askbox__input:focus-visible{outline:none}

.lp-askdock{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:14px;pointer-events:none}
html.lp-lock .lp-askdock{display:none}
.lp-askdock,.lp-askdock *,.lp-askdock *::before,.lp-askdock *::after{box-sizing:border-box}
.lp-askdock :where(a,button,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.lp-asklaunch{position:relative;display:grid;place-items:center;width:62px;height:62px;padding:0;border:0;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--font);box-shadow:0 2px 4px rgba(8,22,40,.2),0 18px 36px -14px rgba(8,22,40,.6);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(16px) scale(.85);transition:opacity .4s var(--ease),transform .5s var(--ease),visibility 0s linear .5s,background-color .25s var(--ease)}
.lp-askdock.is-shown .lp-asklaunch{pointer-events:auto;opacity:1;visibility:visible;transform:none;transition:opacity .4s var(--ease),transform .5s var(--ease),visibility 0s,background-color .25s var(--ease)}
.lp-asklaunch:hover{background:var(--navy-700)}
.lp-asklaunch:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.lp-asklaunch::after{content:"";position:absolute;top:1px;right:1px;width:15px;height:15px;border:2px solid #fff;border-radius:50%;background:var(--accent);transform:scale(0);transition:transform .3s var(--ease)}
.lp-asklaunch.has-unread::after{transform:scale(1)}
.lp-asklaunch__icon{grid-area:1 / 1;position:relative;display:grid;place-items:center;transition:opacity .25s var(--ease),transform .4s var(--ease)}
.lp-asklaunch__icon svg{display:block}
.lp-asklaunch__icon--chat{animation:lp-ask-float 3.6s ease-in-out infinite}
.lp-asklaunch__mark{position:absolute;top:2px;right:0;width:8px;height:8px;background:var(--accent)}
.lp-asklaunch__mark::after{content:"";position:absolute;inset:-5px;border:1px solid var(--accent-dark);opacity:0;animation:lp-ask-ping 2.6s var(--ease) infinite}
.lp-asklaunch__icon--min{opacity:0;transform:rotate(-90deg) scale(.6)}
.lp-askdock.is-open .lp-asklaunch__icon--chat{opacity:0;transform:scale(.6);animation:none}
.lp-askdock.is-open .lp-asklaunch__icon--min{opacity:1;transform:none}
.lp-asklaunch__label{position:absolute;top:50%;right:calc(100% + 12px);padding:9px 14px;border-radius:var(--radius);background:var(--ink);color:#fff;font-size:.875rem;font-weight:600;line-height:1;letter-spacing:-.005em;white-space:nowrap;opacity:0;transform:translate(8px,-50%);pointer-events:none;transition:opacity .25s var(--ease),transform .35s var(--ease)}
.lp-askdock.is-open .lp-asklaunch__label{display:none}
@media (hover:hover){
  .lp-asklaunch:hover .lp-asklaunch__label,.lp-asklaunch:focus-visible .lp-asklaunch__label{opacity:1;transform:translate(0,-50%)}
}
@keyframes lp-ask-float{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}

.lp-asknudge{pointer-events:auto;position:relative;display:flex;max-width:300px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:opacity .35s var(--ease),transform .45s var(--ease)}
.lp-asknudge.is-in{opacity:1;transform:none}
.lp-asknudge[hidden]{display:none}
.lp-asknudge__open{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 44px 14px 16px;border:0;background:none;color:var(--ink);font-family:var(--font);text-align:left;cursor:pointer}
.lp-asknudge__q{font-size:.9375rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.lp-asknudge__cta{font-size:.8125rem;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.lp-asknudge__open:hover .lp-asknudge__cta{color:var(--accent)}
.lp-asknudge__close{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:var(--radius)}
.lp-asknudge__close:hover{color:var(--ink);background:var(--paper)}

.lp-askpanel{pointer-events:auto;position:fixed;right:24px;bottom:100px;display:flex;flex-direction:column;width:min(384px,calc(100vw - 48px));height:min(580px,calc(100vh - 140px));overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 0 0 1px rgba(12,27,46,.07),0 44px 90px -30px rgba(8,22,40,.6);transform-origin:bottom right;opacity:0;transform:translateY(12px) scale(.97);transition:opacity .25s var(--ease),transform .35s var(--ease)}
.lp-askpanel.is-open{opacity:1;transform:none}
.lp-askpanel[hidden]{display:none}
.lp-askpanel__head{position:relative;flex:none;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 10px 14px 16px;background:var(--navy);color:#fff}
.lp-askpanel__head::after{content:"rhyline";position:absolute;right:-.06em;bottom:-.32em;font-size:96px;font-weight:700;line-height:1;letter-spacing:-.06em;color:rgba(255,255,255,.05);pointer-events:none}
.lp-askpanel__avatar{position:relative;z-index:1;display:inline-flex;align-items:flex-end;justify-content:center;gap:1px;width:42px;height:42px;padding:0 0 12px 2px;border-radius:50%;background:#fff;color:var(--navy);font-size:1.375rem;font-weight:700;line-height:.72;letter-spacing:-.05em}
.lp-askpanel__avatar-mark{flex:none;width:5px;height:5px;background:var(--accent)}
.lp-askpanel__who{position:relative;z-index:1;min-width:0}
.lp-askpanel__title{margin:0;font-size:1rem;font-weight:700;line-height:1.2;letter-spacing:-.015em;color:#fff}
.lp-askpanel__status{display:flex;align-items:center;gap:6px;margin:3px 0 0;font-size:.75rem;line-height:1.3;color:var(--on-dark-soft)}
.lp-askpanel__dot{flex:none;width:7px;height:7px;border-radius:50%;background:#46C482;box-shadow:0 0 0 3px rgba(70,196,130,.2)}
.lp-askpanel__min{position:relative;z-index:1;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius);background:none;color:#fff;cursor:pointer}
.lp-askpanel__min:hover{background:rgba(255,255,255,.12)}
.lp-askpanel__min:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.lp-askbox--panel{flex:1 1 auto;min-height:0}
.lp-askbox--panel .lp-askbox__log{padding:18px 18px 14px}
.lp-askbox--panel .lp-askbox__chips{padding:0 18px 12px}
.lp-askbox--panel .lp-askbox__form{margin:0 18px}
.lp-askbox--panel .lp-askbox__fine{padding:10px 18px 14px}
.lp-askbox--panel .lp-askmsg{max-width:86%}
.lp-askbox--panel .lp-askmsg--ai{position:relative;margin-left:36px;max-width:calc(100% - 36px);border-left:0;border-radius:2px 12px 12px 12px}
.lp-askbox--panel .lp-askmsg--me{border-radius:12px 2px 12px 12px}
.lp-askbox--panel .lp-askmsg--ai::before{content:"r";position:absolute;top:0;left:-36px;display:grid;place-items:center;width:28px;height:28px;padding:0 3px 3px 0;border-radius:50%;background:var(--navy);color:#fff;font-size:.9375rem;font-weight:700;line-height:1;letter-spacing:-.05em}
.lp-askbox--panel .lp-askmsg--ai::after{content:"";position:absolute;top:15px;left:-17px;width:4px;height:4px;background:var(--accent)}
.lp-askbox--panel .lp-askmsg--typing{display:inline-flex}

.lp-askdock__row{display:flex;align-items:center;gap:14px}
.lp-askteaser{pointer-events:auto;position:relative;display:flex;max-width:280px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(12,27,46,.06),0 18px 36px -16px rgba(12,27,46,.38);opacity:0;transform:translateX(12px);transition:opacity .45s var(--ease) .35s,transform .55s var(--ease) .35s}
.lp-askteaser.is-in{opacity:1;transform:none}
.lp-askteaser[hidden]{display:none}
.lp-askteaser::after{content:"";position:absolute;top:50%;right:-6px;width:10px;height:10px;background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);transform:translateY(-50%) rotate(45deg)}
.lp-askteaser__open{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:13px 38px 13px 16px;border:0;border-radius:12px;background:#fff;color:var(--ink);font-family:var(--font);text-align:left;cursor:pointer}
.lp-askteaser__title{display:flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.lp-askteaser__title::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#2F9A66;box-shadow:0 0 0 3px rgba(47,154,102,.16)}
.lp-askteaser__sub{font-size:.8125rem;line-height:1.4;color:var(--muted)}
.lp-askteaser__open:hover .lp-askteaser__title{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.lp-askteaser__close{position:absolute;z-index:2;top:5px;right:5px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:var(--radius);background:none;color:var(--faint);cursor:pointer}
.lp-askteaser__close:hover{color:var(--ink);background:var(--paper)}
.lp-askdock.has-teaser .lp-asklaunch__label{display:none}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .lp-ask__intro{grid-column:1 / span 12}
  .lp-ask .lp-askbox{grid-column:1 / span 12;margin-top:24px}
  .lp-ask__title{max-width:16em}
}
@media (max-width:600px){
  .lp-askbox--inline{min-height:0}
  .lp-askbox--inline .lp-askbox__log{max-height:400px}
  .lp-askbox__head,.lp-askbox__log{padding-left:16px;padding-right:16px}
  .lp-askbox__chips{padding-left:16px;padding-right:16px}
  .lp-askbox__form{margin:0 16px}
  .lp-askbox__fine{padding:10px 16px 16px}
  .lp-askmsg{max-width:94%}
  .lp-askbox__live{display:none}
  .lp-ask__wm{font-size:44vw;bottom:-.12em}
  .lp-askdock{right:16px;bottom:16px;left:16px}
  .lp-asklaunch{width:58px;height:58px}
  .lp-asknudge{max-width:calc(100% - 8px)}
  .lp-askpanel{right:8px;left:8px;bottom:8px;width:auto;height:min(76vh,600px);height:min(76dvh,600px);border-radius:14px}
  .lp-askdock.is-open .lp-asklaunch{display:none}
  .lp-askdock__row{gap:12px}
  .lp-askteaser{max-width:calc(100vw - 32px - 70px)}
  .lp-askteaser__open{padding:11px 34px 11px 14px}
  .lp-askteaser__title{font-size:.875rem}
  .lp-askteaser__sub{font-size:.75rem}
  .lp-askbox--panel .lp-askbox__input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .lp-ask__dot::after,.lp-asklaunch__mark::after,.lp-asklaunch__icon--chat,.lp-askdots i{animation:none}
  .lp-askmsg.is-new{animation:none}
  .lp-asklaunch,.lp-asknudge,.lp-askpanel,.lp-askteaser{transition:none}
  .lp-askbox__log{scroll-behavior:auto}
}

/* ---------- Next step under the latest answer (2026-11-03) ---------- */
.lp-askbox__log>.lp-askmsg:not(:last-child) .lp-askmsg__talk{display:none}
.lp-asktalk--book{padding:7px 16px 7px 12px;text-align:left}
.lp-asktalk__t{display:flex;flex-direction:column;gap:2px}
.lp-asktalk__s{font-size:.75rem;font-weight:500;line-height:1.2;opacity:.8}
.lp-askmsg__alt{margin:10px 0 0;font-size:var(--fs-xs);color:var(--muted)}
.lp-askmsg__alt a{color:var(--navy);font-weight:600;text-decoration:underline;text-underline-offset:2px}