/* A compact stage, using the same articulated vector language as Lambo. */
.pack-heading{display:flex;align-items:end;justify-content:space-between;text-align:left;gap:32px;margin-bottom:34px}.pack-heading h2{font-size:clamp(40px,4vw,56px)!important;margin-bottom:0!important}.pack-heading>p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 4px;max-width:210px}.pack-workspace{display:grid;grid-template-columns:1.08fr 1fr;border-block:1px solid var(--line);background:transparent}.pack-station{position:relative;min-height:360px;display:grid;place-items:center;isolation:isolate;overflow:hidden;transition:background .3s}.pack-station.over{background:#edf2ff}.pack-station.over:after{content:'';position:absolute;inset:12px;border:1px dashed #99ace8;border-radius:7px;pointer-events:none}.pack-invitation{text-align:center;color:#556789;display:flex;flex-direction:column;align-items:center;transition:opacity .3s,transform .3s}.drop-ring{width:94px;height:94px;border:1px dashed #b5c4e7;border-radius:50%;font:300 30px/1 var(--sans);display:grid;place-items:center;color:#879bc9;margin-bottom:18px;transition:transform .3s,background .3s;box-shadow:0 0 0 12px #eaf0fd66}.over .drop-ring{transform:scale(1.1);background:#e4edff}.pack-invitation p{font:400 27px/1.2 var(--display);margin:0 0 9px;color:var(--ink)}.pack-invitation small{font-size:12px;color:#8b98b1}.pack-invitation button{border:0;border-bottom:1px solid #bdcae6;padding:0 0 4px;background:none;font-size:12px;margin-top:18px;color:#607db9}.pack-station[data-phase=arriving] .pack-invitation,.pack-station[data-phase=turning] .pack-invitation,.pack-station[data-phase=ready] .pack-invitation{opacity:0;pointer-events:none;position:absolute;transform:scale(.94)}
#dock-lamb{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:110px;height:110px;pointer-events:none}#dock-lamb .mascot-wrap{margin:0;transform-origin:center bottom}#dock-lamb .lamb{pointer-events:none}.pack-station[data-phase=turning] #dock-lamb .mascot-wrap{animation:lambo-morph .65s cubic-bezier(.4,0,.3,1) both}.pack-station[data-phase=ready] #dock-lamb{display:none}
#donkey-scene{position:relative;width:100%;height:350px;align-self:end}.donkey-assembly{width:188px;height:188px;position:absolute;left:50%;bottom:71px;transform:translateX(-50%);transform-origin:50% 94%;--burden:0px;animation:pack-breathe 3.2s ease-in-out infinite}.donkey-assembly.arrival{animation:donkey-arrive .6s cubic-bezier(.2,1.1,.5,1) both,pack-breathe 3.2s .6s ease-in-out infinite}.donkey-assembly.receive{animation:receive-load .6s ease,pack-breathe 3.2s .6s ease-in-out infinite}#donkey{position:absolute;inset:0;width:100%;height:100%;border:0;background:none;padding:0;cursor:pointer;border-radius:30%;z-index:1}.pack-animal{display:block;width:100%;height:100%;overflow:visible;transform:translateY(var(--burden));transition:transform .4s}.pack-animal g{transform-box:view-box}.pack-animal-motion{animation:pack-stance 7s ease-in-out infinite}.pack-leg-front{transform-origin:14px 22px;animation:pack-front-step 7s ease-in-out infinite}.pack-leg-rear{transform-origin:27px 23px;animation:pack-rear-step 7s ease-in-out infinite}.pack-legs-far{transform-origin:20px 23px;animation:pack-front-step 7s -.8s ease-in-out infinite}.pack-ear-front{transform-origin:9px 10px;animation:pack-ear 4.7s ease-in-out infinite}.pack-ear-back{transform-origin:7px 10px;animation:pack-ear 6.1s -.9s ease-in-out infinite}.pack-tail{transform-origin:31px 14px;animation:pack-tail 3.2s ease-in-out infinite}.pack-eye{transform-origin:7.2px 12px;animation:pack-blink 4.2s infinite}.pack-torso{transform-origin:20px 20px;animation:pack-body 3.2s ease-in-out infinite}.donkey-ground{position:absolute;bottom:73px;left:50%;width:137px;height:5px;border-radius:50%;background:#334d7920;filter:blur(2px);transform:translateX(-50%);z-index:-1}
#skill-load{position:absolute;left:44%;width:69%;bottom:62%;display:grid;grid-template-columns:1fr 1fr;gap:3px;align-items:end;z-index:3;transform-origin:50% 100%;animation:luggage-sway 3.2s ease-in-out infinite;pointer-events:none}#skill-load button{position:relative;pointer-events:auto;cursor:pointer;border:1px solid #aebbe5;border-radius:3px;background:#e8edff;color:#4b619b;box-shadow:0 2px 0 #8291c020;padding:5px 3px;font:9px/1.2 var(--sans);min-height:25px;text-align:center;transform-origin:center bottom;animation:parcel-drop .38s cubic-bezier(.2,1.2,.5,1) both}#skill-load button:nth-child(3n+2){background:#dfebf7;border-color:#a6c1d8;color:#416b8b}#skill-load button:nth-child(3n){background:#eeebfa;border-color:#c4badf;color:#79679b}#skill-load button:hover{background:#fff;translate:0 -2px}.pack-caption{position:absolute;bottom:16px;left:12px;right:12px;text-align:center;display:grid;gap:8px;color:#657797}.pack-caption>span:first-child{font:10px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#a0acc2}.pack-caption>span:last-child{font-size:12px}
.skill-rack{padding:28px 0 28px 30px;border-left:1px solid var(--line)}.rack-label{font:10px var(--sans);letter-spacing:.12em;color:#97a2b7;margin:0 0 13px}.skill-rack>p:nth-child(2){font-size:13px;line-height:1.65;margin:0 0 22px;color:#748199;min-height:44px}.pack-skills{display:grid;grid-template-columns:1fr 1fr;gap:9px}.pack-skills button{display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #dce3f1;border-radius:5px;background:#fff;color:#627391;font-size:12px;min-width:0;text-align:left;padding:12px 10px;line-height:1.3;cursor:grab;touch-action:none;transition:background .25s,border-color .25s,translate .25s,opacity .25s}.pack-skills button b{font-weight:400;font-size:16px;color:#9aa9c7}.pack-skills button[aria-disabled=true]{opacity:.55;cursor:default}.pack-skills button[aria-disabled=false]:hover{background:#f1f5ff;border-color:#b2c1e9;translate:0 -2px}.pack-skills button[aria-pressed=true],.pack-skills button[aria-disabled=false][aria-pressed=true]:hover{background:#e7edff;color:#3e5ea9;border-color:#b5c4ed}.pack-skills button[aria-pressed=true] b{color:#6984c7}.pack-actions{display:flex;gap:22px;margin-top:23px}.pack-actions button{padding:0 0 4px;border:0;border-bottom:1px solid #bdc9e0;background:none;font-size:12px;color:#7185ae}.pack-actions button:disabled{opacity:.3;cursor:default}.pack-ghost{position:fixed;z-index:200;pointer-events:none;border:1px solid #adc0ec;border-radius:4px;background:#e5edff;padding:11px;color:#4b66a6;font-size:12px;box-shadow:0 6px 18px #17325a12;transform:translate(-50%,-50%) rotate(-4deg)}
#pack-detail{display:grid;grid-template-columns:165px 1fr;align-items:start;gap:20px;padding:22px 0 0;min-height:90px;text-align:left}.pack-detail-label{font:10px/1.6 var(--sans);letter-spacing:.09em;color:#8c9ab4;padding-top:3px}#pack-description{font-size:14px;line-height:1.75;color:#6e7e99;margin:0;max-width:640px}.pack-glow{position:absolute;left:50%;top:53%;width:180px;height:180px;border:1px solid #91b1ff;border-radius:50%;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.pack-station.celebrating .pack-glow{animation:pack-ring 1s ease-out}.pack-spark{position:absolute;left:50%;top:45%;width:5px;height:5px;border-radius:50%;background:var(--spark,#90aff8);animation:pack-spark .85s ease-out forwards;pointer-events:none}
@keyframes lambo-morph{0%{transform:scale(1)}35%{transform:scale(1.08,.85) rotate(-4deg)}70%{transform:scale(.7,1.15);opacity:.8}100%{transform:scale(.65);opacity:0}}
@keyframes donkey-arrive{0%{transform:translateX(-50%) translateY(7px) scale(.55);opacity:0}65%{transform:translateX(-50%) translateY(-2px) scale(1.035);opacity:1}100%{transform:translateX(-50%) scale(1)}}
@keyframes pack-breathe{50%{transform:translateX(-50%) translateY(1px)}}
@keyframes pack-stance{0%,12%,53%,65%,100%{transform:translateX(0)}26%,40%{transform:translateX(-1.2px)}78%,90%{transform:translateX(1.2px)}}
@keyframes pack-front-step{0%,12%,52%,64%,100%{transform:rotate(0)}22%,76%{transform:rotate(-13deg)}34%,86%{transform:rotate(9deg)}44%,95%{transform:rotate(-4deg)}}
@keyframes pack-rear-step{0%,12%,52%,64%,100%{transform:rotate(0)}22%,76%{transform:rotate(10deg)}34%,86%{transform:rotate(-10deg)}44%,95%{transform:rotate(4deg)}}
@keyframes pack-ear{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-12deg)}84%{transform:rotate(7deg)}92%{transform:rotate(-3deg)}}
@keyframes pack-tail{50%{transform:rotate(7deg)}}
@keyframes pack-blink{0%,89%,95%,100%{transform:scaleY(1)}92%{transform:scaleY(.08)}}
@keyframes pack-body{50%{transform:translateY(-.25px) rotate(-.5deg)}}
@keyframes luggage-sway{50%{transform:translateY(1px) rotate(.6deg)}}
@keyframes receive-load{0%,100%{transform:translateX(-50%)}28%{transform:translateX(-50%) translateY(4px) scaleY(.97)}60%{transform:translateX(-50%) translateY(-2px)}}
@keyframes parcel-drop{0%{transform:translateY(-17px) rotate(-5deg);opacity:0}70%{transform:translateY(2px) rotate(2deg)}100%{transform:none;opacity:1}}
@keyframes pack-ring{0%{scale:.5;opacity:.8}100%{scale:1.7;opacity:0}}
@keyframes pack-spark{to{translate:var(--dx) var(--dy);opacity:0}}
/* Lambo opens a conversation sheet, with unboxed answers and a quiet composer. */
.lambo-chat{position:fixed;left:var(--chat-left,auto);right:24px;bottom:24px;z-index:130;width:420px;height:min(620px,calc(100dvh - 48px));border:1px solid #fff;border-radius:18px;background:#fdfdffeF;color:var(--ink);box-shadow:0 25px 90px #1e305c24,0 0 0 1px #dce3f080;backdrop-filter:blur(28px);display:flex;flex-direction:column;overflow:hidden;transform-origin:var(--chat-origin-x,85%) bottom;animation:conversation-open .5s cubic-bezier(.16,1,.3,1) both}.lambo-chat.closing{animation:conversation-close .2s ease both;pointer-events:none}.lambo-chat:focus{outline:0}.chat-header{padding:21px 25px 13px;display:flex;align-items:center;gap:10px;background:none}.chat-header>div{display:flex;align-items:center;gap:10px}.chat-header strong{font:400 21px var(--display);letter-spacing:-.01em}.chat-header small{font-size:10px;color:#8c98b0;border-left:1px solid #dfe5f1;padding-left:10px;line-height:1.4}.chat-close{margin-left:auto;border:0;background:#eef1f880;width:29px;height:29px;border-radius:50%;font:300 22px/1 var(--sans);padding:0;color:#8391ac;transition:background .2s,rotate .3s}.chat-close:hover{background:#e5ebfa;rotate:90deg}.chat-intro{position:relative;padding:12px 26px 22px;flex-shrink:0;overflow:hidden}.chat-intro .chat-lamb{height:80px;width:80px;margin:0 0 10px -4px;display:block;animation:chat-mascot 6s ease-in-out infinite}.chat-lamb svg{width:80px;height:80px;overflow:visible}.chat-lamb [data-part=lambo-eye]{transform-box:fill-box;transform-origin:center;animation:pack-blink 4.2s infinite}.chat-lamb [data-part=lambo-ear]{transform-box:fill-box;transform-origin:left;animation:pack-ear 5s infinite}.chat-intro h2{font:400 44px/1.01 var(--display);letter-spacing:-.03em;margin:0 0 14px;color:#253257}.chat-intro p{font-size:13px;line-height:1.7;max-width:260px;color:#8a95ad;margin:0}.chat-intro:after{content:'';position:absolute;right:-75px;top:-25px;width:230px;height:230px;background:radial-gradient(circle,#dee6ff80,transparent 70%);pointer-events:none;z-index:-1}.lambo-chat.has-messages .chat-intro{display:none}.chat-thread{flex:1;min-height:0;overflow-y:auto;padding:8px 26px 20px;scroll-behavior:smooth;display:flex;flex-direction:column;gap:24px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd6ed transparent}.chat-thread:empty{padding:0;min-height:0}.chat-bubble{padding:0;background:none;max-width:100%;align-self:flex-start;font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;animation:reply-enter .45s cubic-bezier(.2,.8,.2,1) both;color:#5d6d8c}.chat-bubble:before{content:'LAMBO';display:block;font:9px var(--sans);letter-spacing:.12em;color:#9caac4;margin:0 0 7px}.chat-bubble.user{align-self:flex-end;background:#eef2fd;color:#4c6092;border:1px solid #e6ebf7;border-radius:12px 12px 3px 12px;padding:10px 14px;max-width:88%;font-size:13px}.chat-bubble.user:before{display:none}.chat-bubble a{display:inline-block;margin-top:13px;color:#526cc1;font-size:12px;text-decoration:none;border-bottom:1px solid #bfceef;padding-bottom:2px}.chat-bubble a:hover{color:#254cbb;border-color:#254cbb}.chat-bubble.waiting{font-size:12px;color:#9ba9c4}.chat-bubble.waiting:before{display:none}.chat-bubble.waiting span{animation:thinking-wave 1.3s ease-in-out infinite}.chat-suggestions{padding:0 26px 24px;display:grid;gap:0}.chat-suggestions button{padding:11px 0;border:0;border-top:1px solid #e6ebf5;border-radius:0;background:none;color:#6c7d9e;text-align:left;display:flex;gap:15px;align-items:center;font-size:12px;transition:color .2s,padding .2s}.chat-suggestions button:before{content:attr(data-index);font:9px var(--sans);color:#aab6cd}.chat-suggestions button:hover{background:none;color:#3658b5;padding-left:5px}.chat-suggestions button:last-child{border-bottom:1px solid #e6ebf5}.chat-form{margin:0 17px 0;padding:7px 7px 7px 13px;border:1px solid #dbe3f3;border-radius:12px;display:flex;gap:7px;align-items:end;background:#fff;box-shadow:0 3px 12px #344d7d04;transition:border-color .2s,box-shadow .2s}.chat-form:focus-within{border-color:#a9bdee;box-shadow:0 0 0 3px #e8effb80}.chat-form textarea{width:100%;min-height:38px;max-height:104px;resize:none;border:0;border-radius:0;background:none;color:#334c7d;font:13px/1.6 var(--sans);padding:8px 0;outline:none}.chat-form textarea::placeholder{color:#9aa9c5}.chat-form button{border:1px solid #dce5ff;background:#edf2ff;color:#526cc1;border-radius:8px;min-height:38px;padding:0 12px;font-size:11px;transition:background .2s}.chat-form button:hover{background:#e0eaff}.chat-form button:disabled{opacity:.5}.chat-footnote{padding:12px 20px 16px;margin:0;font-size:10px;letter-spacing:.01em;color:#8c9ab5;text-align:center;background:none}.chat-status{font-size:12px;color:#7186b2}
@keyframes conversation-open{from{opacity:0;transform:translateY(24px) scale(.91);filter:blur(7px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes conversation-close{to{opacity:0;transform:translateY(12px) scale(.97);filter:blur(4px)}}
@keyframes reply-enter{from{opacity:0;transform:translateY(7px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes chat-mascot{0%,100%{transform:translateX(0) rotate(-2deg)}45%{transform:translateX(7px) rotate(1deg)}55%{transform:translateX(7px) rotate(-1deg)}}
@keyframes thinking-wave{50%{opacity:.35}}
@media(max-width:1100px){.pack-workspace{grid-template-columns:1fr 1fr}.skill-rack{padding:25px 0 25px 20px}.pack-skills{grid-template-columns:1fr}.pack-skills button{padding:10px 12px}.pack-station{min-height:425px}#donkey-scene{height:375px}.pack-heading h2{font-size:44px!important}.pack-heading>p{font-size:13px}.donkey-assembly{bottom:78px}.donkey-ground{bottom:80px}}
@media(max-width:760px){.pack-heading{gap:20px;align-items:start;margin-bottom:28px}.pack-heading h2{font-size:40px!important}.pack-heading>p{font-size:13px;max-width:150px}.pack-workspace{grid-template-columns:1fr}.pack-station{min-height:330px}#donkey-scene{height:330px}.donkey-assembly{bottom:69px;width:180px;height:180px}.donkey-ground{bottom:72px}.skill-rack{border-left:0;border-top:1px solid var(--line);padding:25px 0}.pack-skills{grid-template-columns:1fr 1fr}.pack-skills button{padding:12px}.skill-rack>p:nth-child(2){min-height:0;margin-bottom:20px}.pack-caption{bottom:15px}#pack-detail{grid-template-columns:1fr;gap:8px;padding-top:20px}.pack-actions{margin-top:22px}.lambo-chat{left:12px!important;right:12px;bottom:12px;width:calc(100% - 24px);height:min(620px,calc(100dvh - 24px));border-radius:18px}.chat-form textarea{font-size:16px}.chat-header{padding-top:19px}.chat-intro h2{font-size:42px}.chat-thread{padding-inline:23px}.pack-section{padding-top:75px!important}}
@media(max-width:420px){.pack-heading{display:block}.pack-heading>p{max-width:none;margin-top:15px}.pack-heading h2{font-size:38px!important}.pack-heading h2 br{display:none}.pack-skills button{font-size:12px}.chat-intro{padding-top:3px;padding-bottom:22px}.chat-intro .chat-lamb{height:67px;width:67px}.chat-lamb svg{width:67px;height:67px}.chat-intro h2{font-size:39px}.chat-suggestions{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){.donkey-assembly,.pack-animal g,#skill-load,#skill-load button,.pack-spark,.lambo-chat,.chat-lamb,.chat-bubble,.chat-bubble.waiting span{animation:none!important}.pack-station[data-phase=turning] #dock-lamb .mascot-wrap{animation:none;opacity:0}}

.chat-header,.chat-form,.chat-footnote,.chat-suggestions{flex-shrink:0}
@media(max-height:680px){.chat-header{padding:14px 23px 10px}.chat-intro{padding:3px 23px 16px}.chat-intro .chat-lamb,.chat-lamb svg{height:52px;width:52px}.chat-intro h2{font-size:34px;margin-bottom:9px}.chat-intro p{font-size:12px}.chat-suggestions{padding-bottom:15px}.chat-suggestions button{padding-block:9px}.chat-footnote{padding-block:9px}}
