.mascot{position:fixed;bottom:0;left:24px;z-index:900;pointer-events:none;transform:translateY(122%);opacity:0;transition:left .85s cubic-bezier(.5,0,.2,1),transform .55s var(--ease),opacity .45s var(--ease)}.mascot.show{transform:translateY(0);opacity:1}.mascot.dismissed{transform:translateY(135%)!important;opacity:0!important}.mascot-flip{position:relative}.mascot.on-right .mascot-flip{transform:scaleX(-1)}.mascot-fig{will-change:transform}.mascot-fig,.mascot-img{transform-origin:bottom center}.mascot-img{width:clamp(58px,5.4vw,82px);height:auto;display:block;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 10px 14px rgba(20,16,10,.24));animation:mascotFloat 4.2s ease-in-out infinite}.mascot-bubble{position:absolute;bottom:calc(100% + 3px);left:-8px;pointer-events:auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:.6rem .8rem .65rem;width:max-content;max-width:238px;box-shadow:var(--shadow);transition:opacity .3s var(--ease),transform .3s var(--ease)}.mascot.on-right .mascot-bubble{left:auto;right:-8px}.mascot-bubble .mascot-name{display:block;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-text);margin-bottom:.22rem}.mascot-bubble p{font-size:.85rem;line-height:1.4;margin:0}.mascot-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.mascot-cta{display:inline-flex;align-items:center;gap:.35rem;background:var(--clay);color:var(--ink);border:none;border-radius:999px;padding:.4rem .9rem;font-family:inherit;font-weight:600;font-size:.8rem;cursor:pointer;pointer-events:auto;transition:background .25s var(--ease),transform .25s var(--ease)}.mascot-cta:hover{background:var(--clay-deep);transform:translateY(-1px)}.mascot-cta.ghost{background:transparent;border:1.5px solid color-mix(in srgb,var(--ink,#1c1a17) 22%,transparent);color:var(--ink)}.mascot-cta.ghost:hover{background:color-mix(in srgb,var(--ink,#1c1a17) 6%,transparent)}.mascot-cta .lucide,.mascot-tail{width:13px;height:13px}.mascot-tail{position:absolute;left:24px;bottom:-7px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:rotate(45deg)}.mascot.on-right .mascot-tail{left:auto;right:24px}.mascot-bubble.hide{opacity:0;transform:translateY(8px) scale(.92);pointer-events:none}.mascot-bubble.pop{animation:bubblePop .4s var(--ease)}.mascot-close{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;border:2px solid var(--paper);display:grid;place-items:center;cursor:pointer;pointer-events:auto;padding:0;opacity:0;transition:opacity .3s var(--ease)}.mascot-close:before{inset:-11px;border-radius:50%}.mascot.on-right .mascot-close{right:auto;left:-8px}.mascot:hover .mascot-close{opacity:1}.mascot-close .lucide{width:11px;height:11px}@keyframes mascotFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(1deg)}}@keyframes mascotHop{0%{transform:translateY(0)}30%{transform:translateY(-14px)}55%{transform:translateY(0)}75%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes bubblePop{0%{transform:scale(.85);opacity:.35}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@media (max-width:600px){.mascot-img{width:54px}.mascot-bubble{max-width:172px;padding:.5rem .68rem}.mascot-bubble p{font-size:.78rem}.mascot-cta{font-size:.74rem;padding:.34rem .7rem}}.mascot-close:before{content:"";position:absolute;inset:-12px}.mc-panel{position:fixed;bottom:24px;right:24px;z-index:1200;width:min(360px,calc(100vw - 32px));height:min(520px,72vh);height:min(520px,72dvh);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 64px rgba(20,16,12,.28);overflow:hidden}@media (max-width:560px){.mc-panel{left:0;right:0;bottom:0;width:100%;height:min(82dvh,620px);border-radius:18px 18px 0 0}.mc-input{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.mc-input input{font-size:16px}}.mc-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#1c1a17;color:#fff}.mc-avatar{width:36px;height:36px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.12)}.mc-title{flex:1;display:flex;flex-direction:column;line-height:1.25}.mc-title b{font-size:.95rem}.mc-title span{font-size:.72rem;color:rgba(255,255,255,.6)}.mc-close{background:none;border:0;color:rgba(255,255,255,.7);font-size:1.5rem;line-height:1;cursor:pointer}.mc-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#f7f3ec}.mc-intro p{margin:0 0 10px;font-size:.9rem;line-height:1.5;color:#4b453d}.mc-faq-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a89f92;margin-bottom:6px}.mc-faq{display:flex;flex-direction:column;gap:6px}.mc-faq button{text-align:left;padding:8px 12px;border-radius:12px;border:1.5px solid #e5ddd0;background:#fff;font:inherit;font-size:.85rem;color:#3d3830;cursor:pointer;transition:border-color .2s ease}.mc-faq button:hover{border-color:#e5b03b}.mc-msg{max-width:85%;padding:9px 13px;border-radius:14px;font-size:.88rem;line-height:1.5;white-space:pre-line}.mc-msg.user{align-self:flex-end;background:#e5b03b;color:#1c1a17;border-bottom-right-radius:4px}.mc-msg.assistant{align-self:flex-start;background:#fff;color:#3d3830;border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(20,16,12,.06)}.mc-typing{color:#a89f92;font-style:italic}.mc-apply-cta{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:-2px;padding:9px 15px;border-radius:999px;background:#1c1a17;color:#e5b03b;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .15s ease}.mc-apply-cta:hover{background:#322e29;transform:translateY(-1px)}.mc-input{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #eee6d9}.mc-input input{flex:1;padding:10px 12px;border-radius:999px;border:1.5px solid #e5ddd0;font:inherit;font-size:.88rem;outline:none}.mc-input input:focus{border-color:#e5b03b}.mc-input button{width:40px;height:40px;border-radius:50%;border:0;background:#1c1a17;color:#e5b03b;font-size:.95rem;cursor:pointer}.mc-input button:disabled{opacity:.4;cursor:default}