/* SALÒN — ai */
.ahead{padding-bottom:48px}
.chatw{padding:0 20px 120px}
.chat{max-width:640px;margin:0 auto;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;height:min(720px,calc(100svh - var(--hdr) - 80px));min-height:480px}
.ch-h{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);font-family:var(--jp)}
.ch-h .av,.msg-b .av{width:38px;height:38px;border-radius:50%;background:var(--mist);color:var(--taupe);display:grid;place-items:center;flex:none}
.ch-h .av svg,.msg-b .av svg{width:24px;height:24px}
.ch-h b{display:block;font-weight:500;font-size:14.5px;letter-spacing:.08em}
.ch-h div span{font-size:12.5px;color:var(--mute)}
.ch-h div span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#6bab7c;margin-right:6px;vertical-align:1px}
.ch-l{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:12px;font-family:var(--jp);font-size:14px;line-height:1.85;scroll-behavior:smooth}
.msg-b{display:flex;gap:10px;align-items:flex-end;max-width:88%}
.msg-b .av{width:30px;height:30px}
.msg-b .av svg{width:18px;height:18px}
.msg-b p{margin:0;background:var(--mist);padding:10px 14px;border-radius:2px 14px 14px 14px}
.msg-b.cont .av{visibility:hidden}
.msg-u{align-self:flex-end;max-width:80%}
.msg-u p{margin:0;background:var(--taupe);color:#fff;padding:10px 14px;border-radius:14px 2px 14px 14px}
.msg-s{align-self:center;font-size:12.5px;color:var(--mute);text-align:center;max-width:90%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 14px}
.typing p{display:flex;gap:4px;padding:14px 16px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--taupe-l);animation:bl 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes bl{0%,80%,100%{opacity:.3}40%{opacity:1}}
.est{margin:0;background:#fff;border:1px solid var(--line);padding:16px 18px;width:100%}
.est h4{margin:0 0 8px;font-weight:500;font-size:14.5px;letter-spacing:.1em;color:var(--taupe-d)}
.est table{width:100%;border-collapse:collapse;font-size:14px}
.est td{padding:5px 0;border-bottom:1px solid var(--line)}
.est td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.est tr.t td{border-bottom:0;padding-top:10px;font-weight:500}
.est .ln{font-size:12.5px;color:var(--sub);margin:8px 0 0;text-align:right}
.ch-o{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid var(--line);min-height:62px;align-items:center}
.ch-o button{border:1px solid var(--taupe);background:#fff;color:var(--taupe-d);font-family:var(--jp);font-size:14.5px;letter-spacing:.06em;padding:8px 16px;border-radius:18px}
.ch-o button:hover{background:var(--taupe);color:#fff}
.ch-i{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:var(--mist)}
.ch-i input{flex:1;border:1px solid var(--line);background:#fff;height:38px;padding:0 12px;font-family:var(--jp);font-size:14px}
.ch-i button{width:38px;height:38px;border:0;background:none;color:var(--mute)}
.ch-n{max-width:640px;margin:14px auto 0}
.bino{background:#000;color:#e9e3db;text-align:center;padding:96px 20px 110px}
.bino .view{max-width:760px;margin:0 auto;aspect-ratio:2/1;overflow:hidden;
  -webkit-mask:radial-gradient(circle at 37% 50%,#000 0 23.5%,transparent 24.5%),radial-gradient(circle at 63% 50%,#000 0 23.5%,transparent 24.5%);
  mask:radial-gradient(circle at 37% 50%,#000 0 23.5%,transparent 24.5%),radial-gradient(circle at 63% 50%,#000 0 23.5%,transparent 24.5%);
  -webkit-mask-size:100% 100%;mask-size:100% 100%}
.bino .view img{width:135%;height:135%;max-width:none;object-fit:cover;transform:translate(-28%,-21%);filter:blur(.4px)}
.bino p{font-family:var(--jp);font-size:15px;line-height:2.2;letter-spacing:.2em;margin:44px 0 0}
.est-w{max-width:100%;width:100%}
.msg-b .est p{background:none;padding:0;border-radius:0}
.sim{margin:0;background:#fff;border:1px solid var(--line);padding:12px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sim div{position:relative}
.sim img{width:100%;aspect-ratio:1;object-fit:cover}
.sim span{position:absolute;left:8px;top:6px;font-size:12.5px;color:#fff;letter-spacing:.1em}
.sim figcaption{grid-column:span 2;font-size:12.5px;line-height:1.7;color:var(--mute);margin-top:2px}
