/* anim.css — opening, loading, AI thinking/typing (see anim.js) */
.pa-ov{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 45%,#0e3a31,#020d0b);display:flex;align-items:center;justify-content:center;transition:opacity .35s ease}
.pa-ov.pa-out{opacity:0;pointer-events:none}
.pa-stage{position:relative;width:100vw;height:100vh;height:100dvh}
.sp3{position:absolute;inset:0;overflow:hidden}.sp3 canvas{width:100%;height:100%;display:block}
.lg3{position:absolute;left:0;right:0;top:66%;text-align:center;font-weight:900;font-size:clamp(26px,min(7.5vw,6vh),64px);color:#fff;letter-spacing:.5px;white-space:nowrap;opacity:0;animation:pa-lg 1s cubic-bezier(.2,.8,.2,1) 6.1s forwards,pa-blow .35s ease-in 7.6s forwards}
.lg3 b{color:#F2B544;text-shadow:0 0 18px #F2B544aa}
.tg3{position:absolute;left:0;right:0;top:75%;text-align:center;color:#bfe9de;font-size:clamp(12px,1.6vh,18px);letter-spacing:4px;text-transform:uppercase;opacity:0;animation:pa-lg .8s ease 6.4s forwards,pa-blow .35s ease-in 7.6s forwards}
@keyframes pa-lg{from{opacity:0;transform:translateY(16px);letter-spacing:12px;filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes pa-blow{to{opacity:0;transform:scale(1.8);filter:blur(10px);letter-spacing:12px}}

.pa-lbox{display:flex;flex-direction:column;align-items:center;width:min(86vw,360px)}
.pa-bar{width:100%;height:6px;border-radius:6px;background:#ffffff1a;overflow:hidden}
.pa-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#1FC29F,#F2B544);box-shadow:0 0 12px #1FC29F;transition:width .1s linear}
.pa-pct{margin-top:8px;color:#fff;font-weight:800;font-size:16px;text-shadow:0 0 10px #14A085}.pa-pct small{font-size:11px;margin-left:1px}
.pa-ltxt{margin-top:4px;min-height:1.3em;color:#bfe9de;font-size:13px}
.pa-lbox canvas{width:100%;height:auto;margin-top:14px}
.pa-big{position:absolute;left:50%;top:60%;width:60px;height:60px;margin:-30px;opacity:0;background:#FFE7A8;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 20px #F2B544)}
.pa-burst .pa-big{animation:pa-grow 1.7s cubic-bezier(.5,0,.3,1) forwards}.pa-burst .pa-lbox{transition:opacity .3s;opacity:0}
@keyframes pa-grow{0%{opacity:1;transform:translate(0,0) scale(.6) rotate(-120deg)}30%{opacity:1;transform:translate(var(--dx,0),var(--dy,0)) scale(3) rotate(0)}42%{opacity:1;transform:translate(var(--dx,0),var(--dy,0)) scale(3.4) rotate(10deg)}88%{opacity:1;transform:translate(var(--dx,0),var(--dy,0)) scale(var(--s,40)) rotate(80deg)}100%{opacity:0;transform:translate(var(--dx,0),var(--dy,0)) scale(var(--s,40)) rotate(90deg)}}

.ask-msg.pa-think{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px 10px;background:linear-gradient(160deg,#0e3a31,#06201b);color:#bfe9de;border:1px solid #1FC29F55;box-shadow:0 0 18px #1FC29F33}
.pa-think canvas{width:160px;height:auto}
.pa-st{font-size:.78rem;letter-spacing:.2px}
.pa-caret{display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:-2px;background:var(--primary,#0E6E5C);animation:pa-blink .8s steps(1) infinite}
@keyframes pa-blink{50%{opacity:0}}
.pa-acts{display:flex;gap:6px;margin-top:8px}
.pa-ab{border:1px solid var(--line-2,#ddd);background:var(--surface,#fff);color:var(--ink-2,#444);border-radius:999px;padding:3px 10px;font-size:.75rem;cursor:pointer}
.pa-ab:hover{border-color:var(--primary,#0E6E5C);color:var(--primary-dark,#0a5446)}
.pa-typing .pa-acts{display:none}
.ask-ai{animation:pa-in .35s ease}@keyframes pa-in{from{opacity:0;transform:translateY(8px)}}
#askSend{position:relative;overflow:visible}
#askSend.pa-fire{animation:pa-fire .5s ease}@keyframes pa-fire{30%{transform:scale(.85) rotate(-8deg)}60%{transform:scale(1.12)}}
.pa-spark{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#F2B544;pointer-events:none;animation:pa-sp .65s ease-out forwards}
@keyframes pa-sp{to{transform:translate(var(--x),var(--y)) scale(.2);opacity:0}}
.ask-user:last-child{animation:pa-fly .4s cubic-bezier(.2,.9,.3,1.2)}@keyframes pa-fly{from{opacity:0;transform:translateY(22px) scale(.9)}}
.ask-reply-to{font-size:.75rem;color:var(--muted,#777);margin:0 0 4px;padding-inline-start:8px;border-inline-start:3px solid var(--primary,#0E6E5C);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (prefers-reduced-motion:reduce){.ask-ai,.ask-user:last-child,#askSend.pa-fire{animation:none}}
.pa-fu,.pa-wb{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px}
.pa-wb{margin:4px 0 13px;padding:12px 13px;border-radius:14px;background:linear-gradient(160deg,var(--primary-soft,#e3f3ee),var(--surface,#fff));border:1px solid var(--line-2,#ddd)}
.pa-fuh,.pa-wbh{font-size:.75rem;font-weight:700;color:var(--primary-dark,#0a5446);letter-spacing:.3px}
.pa-wbh{font-size:.95rem}.pa-wbs{font-size:.8rem;color:var(--muted,#777);margin-bottom:2px}
.pa-fuq{text-align:start;white-space:normal;opacity:0;animation:pa-q .4s ease forwards}
@keyframes pa-q{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.pa-typing .pa-fu{display:none}
@media (prefers-reduced-motion:reduce){.pa-fuq{animation:none;opacity:1}}
@media (min-aspect-ratio:1/1) and (min-width:900px){
.pa-lbox{width:min(60vw,820px)}
.pa-bar{height:8px}
.pa-pct{font-size:22px}.pa-pct small{font-size:14px}
.pa-ltxt{font-size:16px}
.pa-lbox canvas{max-height:52vh;width:auto;max-width:100%}
.pa-big{width:90px;height:90px;margin:-45px}
}
.pa-wide{flex-direction:column;justify-content:flex-start}
.pa-wide .pa-lbox{margin-top:7vh;width:min(50vw,720px)}
.pa-wide>canvas{position:absolute;left:0;bottom:0;width:100vw;height:78vh}

.pa-burst .pa-big{filter:none;will-change:transform}
.pa-big{transform-origin:50% 55%}
@keyframes pa-fadeq{to{opacity:0}}
.pa-fly{position:fixed;z-index:10000;pointer-events:none;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.pa-revealing{cursor:default}
.pa-rim{position:fixed;pointer-events:none;z-index:1}.pa-rim-star{background:#FFE7A8;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.pa-rim-tile{background:#1FC29F;border-radius:23.4%;box-shadow:0 0 40px #1FC29F}
.pa-pc{position:fixed;z-index:2;pointer-events:none;will-change:transform,opacity}.pa-pc-blk{background:#fff;box-shadow:0 0 24px rgba(159,245,224,.6)}.pa-pc-tile{background:#1FC29F;box-shadow:0 0 30px rgba(31,194,159,.7)}.pa-pc-star{background:#F2B544;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.pa-ov{transition:background-color .6s}
.pa-bgl{position:fixed;inset:0;z-index:0;background:radial-gradient(circle at 50% 45%,#0e3a31,#020d0b)}
