.jal-root{--jal-green:#1f7a3d;--jal-green-deep:#155f2f;--jal-green-darker:#0e4522;--jal-red:#db4438;--jal-red-deep:#a8291f;--jal-gold:#e9b949;--jal-ink:#2a2320;--jal-cream:#f7f3ea;--jal-card:#fff;--jal-line:#e7e0d4;--jal-safe-b:env(safe-area-inset-bottom,0px);--jal-safe-r:env(safe-area-inset-right,0px);right:calc(20px + var(--jal-safe-r));bottom:calc(20px + var(--jal-safe-b));z-index:2147483000;font-family:Open Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;transition:opacity .32s,transform .32s;position:fixed}.jal-root.jal-tucked{opacity:0;pointer-events:none;transform:translateY(26px)scale(.9)}.jal-launcher{cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;display:flex;position:relative}.jal-launcher-ring{pointer-events:none;background:radial-gradient(circle,#1f7a3d66 0%,#1f7a3d00 70%);border-radius:50%;width:68px;height:68px;animation:2.6s ease-in-out infinite jal-halo;position:absolute;top:50%;left:34px;transform:translate(-50%,-50%)}@keyframes jal-halo{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(.9)}50%{opacity:.9;transform:translate(-50%,-50%)scale(1.15)}}.jal-launcher-img{object-fit:contain;filter:drop-shadow(0 6px 14px #00000047);width:72px;height:72px;transition:transform .18s;position:relative}.jal-launcher:hover .jal-launcher-img,.jal-launcher:focus-visible .jal-launcher-img{transform:translateY(-3px)rotate(-5deg)scale(1.04)}.jal-launcher-badge{background:linear-gradient(135deg, var(--jal-green), var(--jal-green-deep));color:#fff;white-space:nowrap;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700;box-shadow:0 4px 14px #0e452259}.jal-launcher:focus-visible{outline:3px solid var(--jal-gold);outline-offset:4px;border-radius:999px}.jal-panel{background:var(--jal-cream);border:1px solid #0000000f;border-radius:20px;flex-direction:column;width:384px;max-width:calc(100vw - 32px);height:624px;max-height:calc(100vh - 40px);animation:.22s cubic-bezier(.2,.9,.3,1.2) jal-pop;display:flex;overflow:hidden;box-shadow:0 18px 54px #081e1057}@keyframes jal-pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.jal-hero{background:radial-gradient(130% 90% at 50% 0%, #2e9b52 0%, var(--jal-green) 45%, var(--jal-green-darker) 100%);flex-direction:column;flex:44 1 0;min-height:56px;max-height:46%;transition:flex-basis .28s,max-height .28s,min-height .28s;display:flex;position:relative}.jal-topbar{z-index:4;color:#fff;align-items:center;gap:8px;padding:10px 10px 8px 15px;display:flex;position:relative}.jal-titlewrap{flex:1;min-width:0}.jal-hero-name{letter-spacing:.2px;align-items:center;gap:7px;font-size:17px;font-weight:800;line-height:1.1;display:flex}.jal-hero-status{align-items:center;gap:6px;margin-top:3px;font-size:11.5px;display:flex}.jal-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.jal-dot.is-online{background:#8bf7ab;box-shadow:0 0 0 3px #8bf7ab4d}.jal-dot.is-nap{background:var(--jal-gold);box-shadow:0 0 0 3px #e9b94947}.jal-status-text{opacity:.95;white-space:nowrap;font-weight:600}.jal-hero-controls{flex-shrink:0;align-items:center;gap:4px;display:flex}.jal-iconbtn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffff29;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;line-height:1;transition:background .15s,transform .15s;display:flex}.jal-iconbtn:hover{background:#ffffff4d;transform:translateY(-1px)}.jal-iconbtn:focus-visible{outline-offset:2px;outline:2px solid #fff}.jal-iconbtn.jal-close{font-size:22px}.jal-menu-wrap{position:relative}.jal-menu{border:1px solid var(--jal-line);z-index:6;background:#fff;border-radius:12px;min-width:224px;padding:6px;animation:.16s jal-pop;position:absolute;top:40px;right:0;box-shadow:0 12px 30px #081e1047}.jal-menu-item{cursor:pointer;width:100%;color:var(--jal-ink);text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:13.5px;display:flex}.jal-menu-item:hover{background:#f1f6f1}.jal-menu-item:focus-visible{outline:2px solid var(--jal-green);outline-offset:-2px}.jal-menu-note{color:#7c7269;border-top:1px solid var(--jal-line);justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding:8px 10px 4px;font-size:12px;display:flex}.jal-menu-note .jal-prov-tag{color:var(--jal-green-deep);font-weight:700}.jal-menu-note .jal-prov-tag.browser{color:var(--jal-red-deep)}.jal-menu-state{color:#9a8f86;background:#f0eae3;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.jal-menu-state.on{color:var(--jal-green-deep);background:#e6f6ec}.jal-stage{flex:1;min-height:0;position:relative;overflow:hidden}.jal-stage-glow{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#ffecb080 0%,#ffecb000 62%);width:74%;animation:6s ease-in-out infinite jal-glow;position:absolute;top:4%;left:50%;transform:translate(-50%)}@keyframes jal-glow{0%,to{opacity:.55;transform:translate(-50%)scale(.95)}50%{opacity:.95;transform:translate(-50%)scale(1.08)}}.jal-char-wrap{justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.jal-char{object-fit:contain;filter:drop-shadow(0 10px 15px #06281466);-webkit-user-select:none;user-select:none;width:auto;max-width:96%;height:auto;max-height:98%;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.jal-listen-pulse{aspect-ratio:1;pointer-events:none;z-index:3;border:3px solid #db4438b3;border-radius:50%;width:46%;animation:1.3s ease-out infinite jal-listen;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}@keyframes jal-listen{0%{opacity:.9;transform:translate(-50%)scale(.7)}to{opacity:0;transform:translate(-50%)scale(1.25)}}.jal-state-chip{z-index:5;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;background:#0e45228c;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #0000002e}.jal-state-chip.is-listening{background:#a8291f9e}.jal-state-chip .jal-tdots{gap:3px;display:inline-flex}.jal-state-chip .jal-tdots i{background:#fff;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite jal-blink;display:inline-block}.jal-state-chip .jal-tdots i:nth-child(2){animation-delay:.18s}.jal-state-chip .jal-tdots i:nth-child(3){animation-delay:.36s}.jal-mini-mic{animation:1.1s ease-in-out infinite jal-micwig;display:inline-block}@keyframes jal-micwig{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.jal-body{background:var(--jal-cream);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:56 1 0;gap:12px;min-height:0;padding:14px 14px 8px;display:flex;overflow-y:auto;box-shadow:inset 0 7px 8px -7px #081e102e}.jal-row{align-items:flex-end;gap:8px;max-width:100%;display:flex}.jal-row-user{flex-direction:row-reverse}.jal-avatar{object-fit:cover;object-position:center 22%;background:#fff;border:1.5px solid #fff;border-radius:50%;flex-shrink:0;width:30px;height:30px;box-shadow:0 2px 6px #00000024}.jal-bubble-wrap{flex-direction:column;min-width:0;max-width:80%;display:flex}.jal-row-user .jal-bubble-wrap{align-items:flex-end}.jal-msg{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;border-radius:16px;padding:10px 13px;font-size:14px;line-height:1.42}.jal-msg-user{background:linear-gradient(135deg, var(--jal-green), var(--jal-green-deep));color:#fff;border-bottom-right-radius:5px;box-shadow:0 2px 8px #155f2f4d}.jal-msg-jalapeno{background:var(--jal-card);color:#241f1c;border:1px solid var(--jal-line);border-bottom-left-radius:5px;box-shadow:0 2px 8px #1e28140f}.jal-meta{color:#9a8f86;align-items:center;gap:8px;margin:3px 4px 0;font-size:10.5px;display:flex}.jal-row-user .jal-meta{flex-direction:row-reverse}.jal-time{white-space:nowrap}.jal-check{color:var(--jal-green);letter-spacing:-1px;font-size:10px}.jal-actions{gap:4px;display:inline-flex}.jal-act{color:#6a5f57;cursor:pointer;background:#ece5db;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;line-height:1;transition:background .14s,color .14s,transform .14s;display:inline-flex}.jal-act:hover{background:var(--jal-red);color:#fff;transform:translateY(-1px)}.jal-act:focus-visible{outline:2px solid var(--jal-green);outline-offset:1px}.jal-act.is-active{background:var(--jal-green);color:#fff}.jal-nap-note{text-align:center;color:#7a5c00;border:1px solid var(--jal-gold);background:#fdf6e3;border-radius:10px;align-self:center;margin-top:4px;padding:8px 10px;font-size:12px}.jal-typing{align-items:center;gap:4px;display:inline-flex}.jal-typing span{background:#b9c9be;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite jal-blink}.jal-typing span:nth-child(2){animation-delay:.2s}.jal-typing span:nth-child(3){animation-delay:.4s}@keyframes jal-blink{0%,80%,to{opacity:.3}40%{opacity:1}}.jal-chips-wrap{background:var(--jal-cream);border-top:1px solid var(--jal-line);flex-shrink:0;position:relative}.jal-chips-wrap:after{content:"";pointer-events:none;background:linear-gradient(to right, #f7f3ea00, var(--jal-cream) 82%);width:34px;position:absolute;top:0;bottom:0;right:0}.jal-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;gap:7px;padding:9px 30px 9px 12px;display:flex;overflow-x:auto}.jal-chips::-webkit-scrollbar{display:none}.jal-chip{scroll-snap-align:start;border:1px solid var(--jal-line);color:#40483c;cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex:none;padding:8px 13px;font-size:12.5px;font-weight:600;transition:background .14s,color .14s,border-color .14s,transform .14s}.jal-chip:hover:not(:disabled){background:var(--jal-red);color:#fff;border-color:var(--jal-red);transform:translateY(-1px)}.jal-chip:focus-visible{outline:2px solid var(--jal-green);outline-offset:1px}.jal-chip:disabled{opacity:.5;cursor:default}.jal-input-row{padding:10px 10px calc(10px + var(--jal-safe-b));border-top:1px solid var(--jal-line);background:#fff;flex-shrink:0;align-items:center;gap:8px;display:flex}.jal-input{background:var(--jal-cream);min-width:0;color:var(--jal-ink);border:1px solid #d7cfc3;border-radius:999px;outline:none;flex:1;padding:11px 16px;font-size:16px;transition:border-color .15s,box-shadow .15s}.jal-input::placeholder{color:#9a9088}.jal-input:focus{border-color:var(--jal-green);box-shadow:0 0 0 3px #1f7a3d29}.jal-input:disabled{color:#a99f96;background:#f1efe9}.jal-voice,.jal-send{cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:16px;display:flex}.jal-voice{color:#999;cursor:not-allowed;background:#eee;transition:background .15s,transform .15s}.jal-voice.is-live{color:var(--jal-red);cursor:pointer;background:#fbe9e6}.jal-voice.is-live:hover{background:#f6d7d2}.jal-voice.is-live:disabled{color:#bbb;cursor:default;background:#eee}.jal-voice.jal-mic-listening{background:var(--jal-red);color:#fff;animation:1.1s ease-in-out infinite jal-mic-pulse}.jal-voice.jal-mic-processing{color:#7a5c00;background:#f0e2b8}.jal-voice:focus-visible,.jal-send:focus-visible{outline:2px solid var(--jal-green);outline-offset:2px}@keyframes jal-mic-pulse{0%,to{box-shadow:0 0 #db443880}50%{box-shadow:0 0 0 7px #db443800}}.jal-send{background:linear-gradient(135deg, var(--jal-red), var(--jal-red-deep));color:#fff;box-shadow:0 3px 10px #a8291f52}.jal-send:disabled{box-shadow:none;cursor:default;background:#d8bdb8}.jal-footer{text-align:center;letter-spacing:.2px;color:#a99f96;padding:4px 8px calc(7px + var(--jal-safe-b));background:#fff;flex-shrink:0;font-size:10.5px;font-weight:600}.jal-panel.jal-kb-open .jal-hero{flex:0 0 54px;min-height:0;max-height:54px}.jal-panel.jal-kb-open .jal-stage,.jal-panel.jal-kb-open .jal-hero-status{display:none}.jal-panel.jal-kb-open .jal-topbar{padding-top:9px;padding-bottom:9px}.jal-panel.jal-kb-open .jal-hero-name{font-size:15px}.jal-panel.jal-kb-open .jal-chips-wrap,.jal-panel.jal-kb-open .jal-footer{display:none}@media (max-width:440px){.jal-root{right:calc(10px + var(--jal-safe-r));bottom:calc(10px + var(--jal-safe-b))}.jal-launcher-badge{display:none}.jal-panel{width:calc(100vw - 20px);height:calc(100dvh - 84px)}.jal-hero-name{font-size:18px}}@media (max-width:380px){.jal-hero-name .jal-hero-sub{display:none}}@media (max-height:680px){.jal-hero{flex-grow:34;max-height:40%}}@media (max-height:540px){.jal-hero{flex-grow:24;max-height:34%}.jal-chips-wrap{display:none}}@media (prefers-reduced-motion:reduce){.jal-stage-glow,.jal-launcher-ring,.jal-listen-pulse,.jal-voice.jal-mic-listening,.jal-mini-mic,.jal-panel{animation:none!important}}
