/* Piuuu — AI study advisor */
.adv-wrap{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start}
@media (max-width:960px){.adv-wrap{grid-template-columns:1fr}}
.adv-side{background:linear-gradient(160deg,#0B1B3F,#1C48A6);color:#fff;border-radius:24px;padding:28px;position:sticky;top:96px;overflow:hidden}
@media (max-width:960px){.adv-side{position:relative;top:auto}}
.adv-side::after{content:"";position:absolute;width:260px;height:260px;right:-90px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(255,213,79,.35),transparent 70%)}
.adv-orb{width:74px;height:74px;border-radius:50%;background:conic-gradient(from 0deg,#FFD54F,#4FC3F7,#7C4DFF,#FFD54F);animation:advspin 6s linear infinite;display:grid;place-items:center;box-shadow:0 0 40px rgba(124,77,255,.55);margin-bottom:16px}
.adv-orb span{width:62px;height:62px;border-radius:50%;background:#0B1B3F;display:grid;place-items:center;font:800 22px/1 "Plus Jakarta Sans",sans-serif;color:#FFD54F;animation:advspin 6s linear infinite reverse}
@keyframes advspin{to{transform:rotate(360deg)}}
.adv-side h2{color:#fff;font-size:30px;margin:0 0 4px}
.adv-side .adv-tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#A5F3C4}
.adv-side .adv-tag i{width:8px;height:8px;border-radius:50%;background:#34D399;box-shadow:0 0 0 0 rgba(52,211,153,.7);animation:advpulse 1.8s infinite}
@keyframes advpulse{70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.adv-side p{color:rgba(255,255,255,.8);font-size:14.5px;line-height:1.6;margin:14px 0}
.adv-side ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:14px}
.adv-side li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.9)}
.adv-side li b{color:#FFD54F}
.adv-chat{background:#fff;border:1px solid #E6EAF2;border-radius:24px;box-shadow:0 30px 60px -30px rgba(11,27,63,.25);display:flex;flex-direction:column;height:min(78vh,760px);overflow:hidden}
.adv-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #EEF1F6;background:linear-gradient(90deg,#F7F9FD,#fff)}
.adv-head .mini{width:38px;height:38px;border-radius:50%;background:conic-gradient(#FFD54F,#4FC3F7,#7C4DFF,#FFD54F);display:grid;place-items:center}
.adv-head .mini b{width:32px;height:32px;border-radius:50%;background:#0B1B3F;color:#FFD54F;display:grid;place-items:center;font-size:13px}
.adv-head strong{display:block;font-size:15px}.adv-head small{color:#16A34A;font-weight:600;font-size:12px}
#advLog{flex:1;overflow-y:auto;padding:22px 20px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;background:radial-gradient(circle at 100% 0,rgba(28,72,166,.05),transparent 40%)}
.msg{max-width:78%;padding:12px 16px;border-radius:18px;font-size:14.5px;line-height:1.55;animation:advin .35s ease both}
.msg.bot{background:#F1F4FA;color:#0B1B3F;border-bottom-left-radius:6px;align-self:flex-start}
.msg.bot.wide{max-width:96%}
.msg.me{background:#1C48A6;color:#fff;border-bottom-right-radius:6px;align-self:flex-end}
.msg a{color:#1C48A6;font-weight:700}
.msg.typing{display:flex;gap:5px;padding:14px 16px}
.msg.typing i{width:7px;height:7px;border-radius:50%;background:#94A3B8;animation:advdot 1s infinite}
.msg.typing i:nth-child(2){animation-delay:.15s}.msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes advdot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}
@keyframes advin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
#advChips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px}
#advChips button,.adv-wa{border:1.5px solid #C9D6F0;background:#fff;color:#1C48A6;border-radius:999px;padding:8px 14px;font:600 13.5px "Plus Jakarta Sans",sans-serif;cursor:pointer;transition:.2s;animation:advin .3s ease both}
#advChips button:hover{background:#1C48A6;color:#fff;border-color:#1C48A6;transform:translateY(-2px)}
.adv-wa{background:#25D366;border-color:#25D366;color:#fff;text-decoration:none;display:inline-flex}
.adv-wa:hover{filter:brightness(.95)}
#advForm{display:flex;gap:10px;padding:14px 16px;border-top:1px solid #EEF1F6}
#advInput{flex:1;border:1.5px solid #DDE3EE;border-radius:14px;padding:12px 14px;font:500 14.5px "Plus Jakarta Sans",sans-serif;outline:none}
#advInput:focus{border-color:#1C48A6;box-shadow:0 0 0 4px rgba(28,72,166,.1)}
#advForm button{border:0;border-radius:14px;padding:0 18px;background:#0B1B3F;color:#FFD54F;font-weight:700;cursor:pointer}
.adv-think ol{margin:8px 0 10px;padding-left:20px;display:grid;gap:4px}
.adv-think li{opacity:.35;transition:.3s}.adv-think li.on{opacity:1}.adv-think li.done::marker{color:#16A34A}
.adv-think li.done::after{content:" ✓";color:#16A34A;font-weight:700}
.adv-bar{height:6px;border-radius:9px;background:#E2E8F0;overflow:hidden}.adv-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1C48A6,#7C4DFF,#FFD54F);transition:width .4s}
.adv-cards{display:grid;gap:12px}
.adv-card{background:#fff;border:1px solid #E6EAF2;border-radius:16px;padding:14px;animation:advin .5s ease both;animation-delay:var(--d)}
.adv-top{display:flex;align-items:center;gap:12px}
.adv-top img{width:44px;height:44px;object-fit:contain;border-radius:10px;background:#F7F9FD;padding:4px}
.adv-top>div:nth-child(2){flex:1;min-width:0}.adv-top b{display:block;font-size:14.5px}.adv-top span{font-size:13px;color:#475569}
.adv-score{--s:80;width:56px;height:56px;border-radius:50%;background:conic-gradient(#16A34A calc(var(--s)*1%),#E2E8F0 0);display:grid;place-items:center;position:relative;flex-shrink:0}
.adv-score::before{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}
.adv-score em,.adv-score small{position:relative;font-style:normal;line-height:1;text-align:center}
.adv-score em{font-weight:800;font-size:14px;color:#0B1B3F;margin-top:6px}.adv-score small{font-size:9px;color:#64748B;margin-top:-14px}
.adv-campus{font-size:12.5px;color:#334155;margin-top:10px}
.adv-rank{display:inline-block;margin-left:6px;background:#FFF7D6;color:#8A6200;border-radius:6px;padding:2px 7px;font-weight:700;font-size:11.5px}
.adv-fac{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.adv-fac span{background:#EEF3FF;color:#1C48A6;border-radius:8px;padding:4px 8px;font-size:11.5px;font-weight:600}
.adv-fee{font-weight:800;color:#0B1B3F;margin-top:10px;font-size:15px}.adv-fee small{font-weight:500;color:#64748B;font-size:12px}
.adv-why{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.adv-why span{font-size:12px;color:#166534;background:#ECFDF3;border-radius:8px;padding:3px 8px}
.adv-act{margin-top:10px}.adv-act a{font-size:13px}
.adv-cmp{display:inline-block;margin-top:12px;font-weight:700}
.adv-list{margin:8px 0;padding-left:18px;display:grid;gap:4px}
.adv-disc{font-size:12.5px;color:#64748B;margin-top:14px;text-align:center}
@media (prefers-reduced-motion:reduce){.adv-orb,.adv-orb span,.adv-side .adv-tag i{animation:none}.msg,.adv-card{animation:none}}
/* Welcome intro */
.adv-hello{position:relative;text-align:center;padding:18px 10px 8px;margin-bottom:6px}
.adv-hello-av{position:relative;width:96px;height:96px;margin:0 auto 12px;display:grid;place-items:center;animation:advdrop .7s cubic-bezier(.2,1.5,.4,1) both}
.adv-hello-av .ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(#FFD54F,#4FC3F7,#7C4DFF,#FFD54F);animation:advspin 5s linear infinite}
.adv-hello-av b{position:relative;width:82px;height:82px;border-radius:50%;background:#0B1B3F;color:#FFD54F;display:grid;place-items:center;font:800 32px "Plus Jakarta Sans",sans-serif}
.adv-hello-av img{position:absolute;bottom:-4px;left:50%;width:130px;transform:translateX(-50%);transform-origin:50% 100%;animation:advwave 1.2s ease-in-out .7s 2}
.adv-hello-av.has-img .ring,.adv-hello-av.has-img b{opacity:0}
.adv-hello-av em{position:absolute;right:-14px;top:-4px;font-style:normal;font-size:30px;transform-origin:70% 70%;animation:advhand 1.3s ease-in-out .6s 3}
.adv-hello h3{margin:0;font-size:clamp(26px,4vw,38px);font-weight:800;letter-spacing:-.02em;color:#0B1B3F}.adv-hello h3 span.hl{color:#7C4DFF;text-shadow:0 6px 18px rgba(124,77,255,.25)}.adv-hello h3 span.hl:nth-last-child(-n+3){color:#E0A800}
.adv-hello h3 span{display:inline-block;animation:advletter .6s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(.35s + var(--i)*45ms)}
.adv-hello p{margin:8px auto 0;max-width:420px;color:#475569;font-size:14px;animation:advin .5s ease 1.1s both}
.adv-spark{position:absolute;left:50%;top:66px;width:0;height:0;pointer-events:none}
.adv-spark i{position:absolute;width:7px;height:7px;border-radius:50%;background:#FFD54F;opacity:0;animation:advburst .9s ease-out both;animation-delay:calc(.25s + var(--d))}
.adv-spark i:nth-child(3n){background:#7C4DFF}.adv-spark i:nth-child(3n+1){background:#4FC3F7}
@keyframes advburst{0%{opacity:1;transform:rotate(var(--a)) translateX(0) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateX(90px) scale(.3)}}
@keyframes advletter{from{opacity:0;transform:translateY(22px) rotate(-12deg) scale(.6)}to{opacity:1;transform:none}}
@keyframes advdrop{from{opacity:0;transform:translateY(-30px) scale(.5)}to{opacity:1;transform:none}}
@keyframes advhand{0%,100%{transform:rotate(0)}15%,45%{transform:rotate(18deg)}30%,60%{transform:rotate(-10deg)}}
@keyframes advwave{0%,100%{transform:translateX(-50%) rotate(0)}25%{transform:translateX(-50%) rotate(-8deg)}50%{transform:translateX(-50%) rotate(6deg)}75%{transform:translateX(-50%) rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){.adv-hello *{animation:none!important}}

/* Piuuu photo avatar */
.adv-orb,.adv-head .mini{position:relative}
.adv-orb img{position:absolute;inset:6px;width:62px;height:62px;border-radius:50%;object-fit:cover;animation:none}
.adv-head .mini img{position:absolute;inset:3px;width:32px;height:32px;border-radius:50%;object-fit:cover}
.adv-hello-av.has-img .ring{opacity:1}.adv-hello-av.has-img b{opacity:1;color:transparent;background:#0B1B3F}
.adv-hello-av img{width:150px;bottom:-2px;border-radius:0 0 48px 48px}
.adv-hello-av{margin-top:40px}
.adv-hello-av{width:124px;height:124px}.adv-hello-av b{width:108px;height:108px}.adv-hello-av img{width:186px}
.adv-hello-av.has-img{width:fit-content;height:auto;margin-top:6px}.adv-hello-av.has-img .ring,.adv-hello-av.has-img b{display:none}
.adv-hello-av.has-img img{position:relative;left:auto;bottom:auto;width:210px;border-radius:0;transform-origin:50% 100%;animation:advsway 1.5s ease-in-out .7s 2;filter:drop-shadow(0 18px 30px rgba(11,27,63,.25))}
.adv-hello-av.has-img em{right:-4px;top:18px}
@keyframes advsway{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}50%{transform:rotate(2.5deg)}75%{transform:rotate(-1.5deg)}}

@media (max-width:960px){
  .adv-wrap{display:flex;flex-direction:column-reverse;gap:18px}
  .adv-side{padding:20px;border-radius:20px}
  .adv-side p{display:none}.adv-side ul{grid-template-columns:1fr 1fr;gap:8px;font-size:12.5px}
  .adv-orb{width:52px;height:52px;margin-bottom:8px}.adv-orb span{width:44px;height:44px;font-size:16px}.adv-orb img{inset:4px;width:44px;height:44px}
  .adv-side h2{font-size:22px}
}
@media (max-width:640px){
  .adv-chat{height:calc(100svh - 150px);min-height:520px;border-radius:18px}
  #advLog{padding:16px 12px}.msg{max-width:88%;font-size:14px}.msg.bot.wide{max-width:100%}
  #advChips{padding:0 12px 10px;max-height:150px;overflow-y:auto}
  #advForm{padding:10px}#advInput{font-size:16px;padding:11px 12px}
  .adv-hello{overflow:hidden}.adv-hello-av.has-img img{width:170px}
  .adv-side ul{grid-template-columns:1fr}
  .adv-score{width:48px;height:48px}.adv-top img{width:38px;height:38px}
}

.adv-hello{flex-shrink:0}.adv-hello-av.has-img{margin-left:auto;margin-right:auto}.adv-hello-av.has-img img{transform:none}
@media (max-width:640px){body:has(#advLog) .wa-float{display:none}}
