.impadv{--ink:#2b2a33;--mut:#5f5c6b;--soft:#8a8696;--tile:#3b3a42;--coral:#c9502f;--coral2:#b04426;--edge:rgba(255,255,255,.75);--green:#15803d;font-family:'DM Sans',sans-serif;background:#fff;color:var(--ink);padding:72px 16px}
.impadv *,.impadv *::before{box-sizing:border-box}
.impadv-box{position:relative;display:flex;flex-direction:column;max-width:1100px;height:680px;margin:0 auto;padding:16px 20px 14px;border-radius:24px;border:1px solid #efe6ef;overflow:hidden;background:radial-gradient(60% 55% at 12% 100%,#faeee2 0%,rgba(250,238,226,0) 70%),radial-gradient(55% 60% at 95% 90%,#f0e3f7 0%,rgba(240,227,247,0) 70%),linear-gradient(120deg,#eceefd 0%,#f6eef7 42%,#f9e8ef 72%,#f6e8f3 100%)}

/* Top bar */
.impadv-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}
.impadv-brand{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.impadv-brand img{width:32px;height:32px;border-radius:9px;background:#fff;padding:3px;display:block}
.impadv .impadv-live{all:unset;box-sizing:border-box;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);background:rgba(255,255,255,.65);border:1px solid var(--edge);border-radius:999px;padding:8px 14px;white-space:nowrap}
.impadv .impadv-live:hover{background:#fff}
.impadv .impadv-live:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* Greeting */
.impadv-hero{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px 16px}
.impadv-hero-tile{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#fff;box-shadow:0 10px 26px -10px rgba(59,58,66,.35);margin-bottom:20px}
.impadv-hero-tile img{width:44px;height:44px;display:block}
.impadv .impadv-title{font-family:inherit;font-size:34px;line-height:1.2;font-weight:600;letter-spacing:-.015em;color:var(--ink);margin:0 0 12px;padding:0;max-width:20em}
.impadv .impadv-title span{display:block;color:var(--soft)}
.impadv .impadv-sub{font-size:15.5px;line-height:1.55;color:var(--mut);margin:0;padding:0;max-width:34em}

/* Suggestion cards */
.impadv-starters{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;max-width:900px;margin:0 auto 16px}
.impadv .impadv-chip{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;background:rgba(255,255,255,.62);border:1px solid var(--edge);border-radius:16px;padding:14px;box-shadow:0 6px 18px -12px rgba(59,58,66,.3);transition:background .15s,transform .15s}
.impadv .impadv-chip:hover{background:#fff;transform:translateY(-2px)}
.impadv .impadv-chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.impadv-tile{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--tile);color:#fff;margin-bottom:22px}
.impadv-tile svg{width:17px;height:17px}
.impadv-chip-t{font-size:14.5px;line-height:1.3;font-weight:600;color:var(--ink);margin-bottom:5px}
.impadv-chip-s{font-size:12.5px;line-height:1.35;color:var(--mut)}

/* Conversation */
.impadv-log{display:none;flex:1;min-height:0;flex-direction:column;gap:12px;width:100%;max-width:760px;margin:0 auto;padding:18px 6px;overflow-y:auto;overscroll-behavior:contain}
.impadv.is-chat .impadv-log{display:flex}
.impadv.is-chat .impadv-hero,.impadv.is-chat .impadv-starters{display:none}
.impadv-msg{flex:none;max-width:84%;font-size:15px;line-height:1.5;padding:11px 15px;border-radius:18px;white-space:pre-wrap;overflow-wrap:anywhere}
.impadv-bot{align-self:flex-start;background:rgba(255,255,255,.82);border:1px solid var(--edge);border-bottom-left-radius:6px}
.impadv-user{align-self:flex-end;background:var(--tile);color:#fff;border-bottom-right-radius:6px}
.impadv-wait{display:inline-flex;gap:5px;padding:15px}
.impadv-wait i{width:7px;height:7px;border-radius:50%;background:var(--soft);animation:impadv-dot 1.1s infinite ease-in-out}
.impadv-wait i:nth-child(2){animation-delay:.15s}
.impadv-wait i:nth-child(3){animation-delay:.3s}
@keyframes impadv-dot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}

/* Recommendation */
.impadv-card{flex:none;align-self:stretch;background:#fff;border:1px solid var(--edge);border-radius:18px;padding:16px 18px 18px;box-shadow:0 12px 30px -16px rgba(59,58,66,.35);animation:impadv-in .28s ease-out}
@keyframes impadv-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.impadv-rank{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--green);border-radius:999px;padding:3px 10px;margin-bottom:10px}
.impadv-rank-alt{background:#ece9f1;color:var(--mut)}
.impadv-card-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.impadv .impadv-card-name{display:block;font-size:19px;line-height:1.25;font-weight:600;color:var(--ink);text-decoration:none}
.impadv .impadv-card-name:hover{text-decoration:underline}
.impadv-card-pkg{font-size:14px;color:var(--mut);margin-top:3px}
.impadv-card-price{font-size:20px;line-height:1.2;font-weight:700;white-space:nowrap}
.impadv .impadv-card-note{font-size:14px;line-height:1.45;font-weight:500;margin:0 0 12px;padding:0}
.impadv .impadv-btn{display:inline-block;flex:none;background:var(--coral);color:#fff;font-weight:600;font-size:14.5px;border-radius:999px;padding:11px 20px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.impadv .impadv-btn:hover{background:var(--coral2);color:#fff}
.impadv .impadv-btn:focus-visible,.impadv .impadv-card-name:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* Input */
.impadv-form{flex:none;display:flex;align-items:center;gap:8px;width:100%;max-width:760px;margin:0 auto;padding:5px 5px 5px 18px;background:rgba(255,255,255,.85);border:1px solid #fff;border-radius:999px;box-shadow:0 10px 26px -14px rgba(59,58,66,.4)}
.impadv-form:focus-within{box-shadow:0 0 0 2px var(--tile)}
.impadv input.impadv-input{all:unset;box-sizing:border-box;flex:1;min-width:0;font-family:inherit;font-size:16px;color:var(--ink);padding:9px 4px}
.impadv input.impadv-input::placeholder{color:#716e7c;opacity:1}
.impadv .impadv-send{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;background:var(--coral);color:#fff;border-radius:999px;padding:10px 18px;font-weight:600;font-size:15px;cursor:pointer;flex:none}
.impadv .impadv-send svg{width:15px;height:15px}
.impadv .impadv-send:hover{background:var(--coral2)}
.impadv .impadv-send:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.impadv .impadv-send:disabled{opacity:.55;cursor:default}
.impadv .impadv-foot{flex:none;font-size:12px;line-height:1.45;color:var(--mut);text-align:center;width:100%;max-width:760px;margin:10px auto 0;padding:0!important}

@media (max-width:900px){
  .impadv{padding:48px 12px}
  .impadv-box{height:auto;min-height:0;padding:14px 14px 12px;border-radius:20px}
  .impadv-hero{padding:28px 4px 22px}
  .impadv .impadv-title{font-size:26px}
  .impadv .impadv-sub{font-size:15px}
  .impadv-starters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .impadv-tile{margin-bottom:14px}
  .impadv.is-chat .impadv-box{height:calc(100svh - 24px);max-height:720px}
  .impadv-msg{max-width:92%}
}
@media (prefers-reduced-motion:reduce){
  .impadv-card{animation:none}
  .impadv-wait i{animation:none}
  .impadv .impadv-chip{transition:none}
  .impadv .impadv-chip:hover{transform:none}
}
