.judy-portrait{isolation:isolate;background:radial-gradient(circle at 32% 24%,#ffffffe0,#fcfbf98f);border-radius:999px;place-items:center;animation:5.8s ease-in-out infinite portrait-float;display:grid;position:relative;box-shadow:0 20px 46px -26px #332a2273}.judy-portrait-sm{width:72px;height:72px}.judy-portrait-md{width:108px;height:108px}.judy-portrait-lg{width:132px;height:132px}.judy-face-shell{background:linear-gradient(145deg,#fffc,#dceafd80);border:1px solid #ffffffb8;border-radius:999px;width:88%;height:88%;overflow:hidden;box-shadow:inset 0 0 18px #ffffffa6}.judy-face{object-fit:cover;width:150%;max-width:none;height:150%;margin-top:-4%;margin-left:-25%;animation:5.4s ease-in-out infinite face-breathe;display:block}.judy-aura,.judy-ring{border-radius:inherit;pointer-events:none;position:absolute;inset:-8%}.judy-aura{z-index:-3;filter:blur(10px);background:radial-gradient(circle at 55% 30%,#57a4f933,#f47c2029,#0000 70%);animation:5.5s ease-in-out infinite aura-breathe}.judy-ring{opacity:.7;border:1px solid #ffffffa6}.judy-ring-orange{border-color:#f47c2061;animation:7s linear infinite orbit-orange;inset:-5%}.judy-ring-blue{border-color:#57a4f957;animation:8.4s linear infinite reverse orbit-blue;inset:-10%}.judy-thinking-dots,.judy-wave,.judy-sparkles{pointer-events:none;opacity:0;transition:opacity .26s;position:absolute}.judy-thinking-dots{gap:4px;display:inline-flex;bottom:-13px}.judy-thinking-dots span{background:linear-gradient(145deg,#57a4f9,#f47c20);border-radius:999px;width:5px;height:5px;animation:.95s ease-in-out infinite judy-portrait-thinking-dot}.judy-thinking-dots span:nth-child(2){animation-delay:.12s}.judy-thinking-dots span:nth-child(3){animation-delay:.24s}.judy-wave{align-items:end;gap:3px;display:inline-flex;bottom:-11px;left:50%;transform:translate(-50%)}.judy-wave span{background:linear-gradient(#57a4f9f2,#f47c20f2);border-radius:999px;width:3px;height:8px;animation:.7s ease-in-out infinite voice-wave}.judy-wave span:nth-child(2){animation-delay:80ms}.judy-wave span:nth-child(3){animation-delay:.14s}.judy-wave span:nth-child(4){animation-delay:.2s}.judy-wave span:nth-child(5){animation-delay:.26s}.judy-sparkles{inset:-4px}.judy-sparkles span{background-color:#f47c20d6;border-radius:999px;width:5px;height:5px;animation:1.3s ease-in-out infinite sparkle-float;position:absolute}.judy-sparkles span:first-child{top:20%;left:6%}.judy-sparkles span:nth-child(2){background-color:#57a4f9d6;animation-delay:.18s;top:7%;right:18%}.judy-sparkles span:nth-child(3){animation-delay:.32s;bottom:18%;right:2%}.judy-portrait.is-listening .judy-mouth{display:none}.judy-portrait.is-listening .judy-mouth-listen{display:block}.judy-portrait.is-listening .judy-wave,.judy-portrait.is-responding .judy-sparkles,.judy-portrait.is-thinking .judy-thinking-dots{opacity:1}.judy-portrait.is-thinking .judy-eyes{opacity:.65}.judy-portrait.is-responding .judy-eyes{animation:2.2s ease-in-out infinite blink}.judy-portrait.is-listening .judy-ring-blue{box-shadow:0 0 0 8px #57a4f91a}.judy-portrait.reduce-motion,.judy-portrait.reduce-motion .judy-face,.judy-portrait.reduce-motion .judy-aura,.judy-portrait.reduce-motion .judy-ring-orange,.judy-portrait.reduce-motion .judy-ring-blue,.judy-portrait.reduce-motion .judy-thinking-dots span,.judy-portrait.reduce-motion .judy-wave span,.judy-portrait.reduce-motion .judy-sparkles span,.judy-portrait.reduce-motion .judy-eyes{animation:none!important}.judy-portrait.reduce-motion .judy-thinking-dots,.judy-portrait.reduce-motion .judy-wave,.judy-portrait.reduce-motion .judy-sparkles{transition:none}@keyframes portrait-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes face-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes aura-breathe{0%,to{opacity:.75}50%{opacity:1}}@keyframes orbit-orange{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-blue{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes voice-wave{0%,to{height:7px}45%{height:15px}}@keyframes judy-portrait-thinking-dot{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes sparkle-float{0%,to{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.3)}}@keyframes blink{0%,44%,50%,to{transform:scaleY(1)}47%{transform:scaleY(.18)}}
.judy-panel{inset-inline-end:1rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:64;background:radial-gradient(circle at 88% -8%,#57a4f92b,#0000 48%),radial-gradient(circle at 12% 110%,#f47c2033,#0000 48%),linear-gradient(155deg,#ffffffdb,#fcfbf9bd);border:1px solid #ffffffb8;border-radius:1.5rem;flex-direction:column;width:min(420px,100vw - 1.4rem);max-height:min(82vh,760px,100vh - 7.25rem);display:flex;position:fixed;bottom:6.25rem;overflow:hidden;box-shadow:0 30px 70px -35px #332a226b,inset 0 0 0 1px #57a4f92e}.judy-head{justify-content:space-between;align-items:flex-start;padding:1rem 1rem .55rem;display:flex}.judy-head-left{align-items:center;gap:.85rem;display:flex}.judy-name{color:#332a22;font-family:Fraunces,serif;font-size:1.35rem;line-height:1}.judy-role{letter-spacing:.14em;text-transform:uppercase;color:#332a22b8;margin-top:.18rem;font-size:.72rem;font-weight:700}.judy-status{color:#332a22cc;align-items:center;gap:.4rem;margin-top:.3rem;font-size:.74rem;display:flex}.status-dot{background-color:#57a4f9;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 6px #57a4f92e}.status-dot.state-thinking{background-color:#f47c20}.status-dot.state-responding{background-color:#e2432b}.judy-controls{gap:.35rem;display:inline-flex}.judy-icon-button{color:#332a22bf;border:1px solid #332a221f;border-radius:999px;place-items:center;width:2rem;height:2rem;transition:background-color .18s,transform .18s;display:grid}.judy-icon-button:hover,.judy-icon-button:focus-visible{background-color:#fcfbf9eb;transform:translateY(-1px)}.ai-ribbon{background:#ffffff8c;border:1px solid #57a4f933;border-radius:999px;align-items:center;gap:.42rem;margin-inline:1rem;padding:.35rem .75rem;display:flex}.ai-node{background:#57a4f9;border-radius:999px;width:.43rem;height:.43rem;box-shadow:0 0 0 5px #57a4f926}.ai-track{background:linear-gradient(90deg,#57a4f9cc,#f47c20cc);width:2.3rem;height:1px}.ai-copy{letter-spacing:.16em;text-transform:uppercase;color:#332a22a6;font-size:.63rem;font-weight:700}.judy-intro{color:#332a22;margin:.72rem 1rem 0;font-family:Fraunces,serif;font-size:1.06rem}.judy-timeline{padding-inline:1rem;max-height:48vh;margin-top:.6rem;padding-bottom:.4rem;overflow:auto}.judy-message-list{flex-direction:column;gap:.6rem;display:flex}.judy-message{gap:.2rem;max-width:88%;display:grid}.judy-message.is-user{margin-inline-start:auto}.judy-bubble-label{letter-spacing:.11em;text-transform:uppercase;color:#332a228f;font-size:.62rem;font-weight:700}.bubble-core{color:#332a22e6;background:linear-gradient(145deg,#fffffff2,#eff6fea6);border:1px solid #57a4f933;border-radius:1rem 1rem 1rem .52rem;padding:.65rem .78rem;font-size:.92rem;line-height:1.45;box-shadow:0 12px 25px -24px #332a2266}.is-user .bubble-core{color:#fff;background:linear-gradient(140deg,#f4a261 0%,#f47c20 55%,#e2432b 100%);border-color:#ffffff59;border-radius:1rem 1rem .52rem;box-shadow:0 14px 30px -24px #e2432ba6}.bubble-core.is-streaming:after{content:"";vertical-align:text-bottom;background-color:#57a4f9bf;border-radius:999px;width:.42rem;height:.95rem;margin-inline-start:.2rem;animation:.8s ease-in-out infinite cursor-blink;display:inline-block}.bubble-thinking{align-items:center;gap:.25rem;width:fit-content;display:inline-flex}.bubble-thinking span{background:linear-gradient(135deg,#57a4f9,#f47c20);border-radius:999px;width:.34rem;height:.34rem;animation:.9s ease-in-out infinite judy-panel-thinking-dot}.bubble-thinking span:nth-child(2){animation-delay:.1s}.bubble-thinking span:nth-child(3){animation-delay:.2s}.judy-explain{color:#f47c20;background:linear-gradient(145deg,#fffffff2,#eff6febf);border:1px solid #57a4f94d;border-radius:999px;justify-self:start;place-items:center;width:1.5rem;height:1.5rem;font-family:Fraunces,serif;font-size:.85rem;font-weight:700;line-height:1;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .18s;display:grid;box-shadow:0 8px 18px -14px #332a2273}.judy-explain:hover:not(:disabled),.judy-explain:focus-visible:not(:disabled){border-color:#f47c208c;transform:translateY(-2px)scale(1.06)}.judy-explain:disabled{opacity:.45;cursor:not-allowed}.judy-prompt-row{gap:.4rem;margin:.8rem 1rem 0;padding-bottom:.1rem;display:flex;overflow:auto}.judy-chip{color:#332a22db;background:#ffffffd9;border:1px solid #57a4f942;border-radius:999px;flex:none;align-items:center;gap:.38rem;padding:.55rem .74rem;font-size:.72rem;font-weight:600;line-height:1;transition:transform .18s cubic-bezier(.34,1.56,.64,1),border-color .18s;display:inline-flex}.judy-chip:hover,.judy-chip:focus-visible{border-color:#f47c2080;transform:translateY(-2px)}.chip-mark{background:linear-gradient(145deg,#f47c20,#57a4f9);border-radius:999px;width:.44rem;height:.44rem}.judy-composer{background:#ffffffe6;border:1px solid #57a4f93b;border-radius:999px;align-items:center;gap:.32rem;margin:.9rem 1rem 1rem;padding:.34rem;display:flex;box-shadow:0 14px 30px -25px #332a2259}.judy-composer:focus-within{border-color:#f47c206b;box-shadow:0 0 0 2px #57a4f933,0 14px 30px -25px #332a2259}.judy-action{color:#332a229e;border-radius:999px;place-items:center;width:2rem;height:2rem;transition:transform .18s,background-color .18s;display:grid}.judy-action:hover,.judy-action:focus-visible{background-color:#dceafd80;transform:translateY(-1px)}.judy-action:disabled{opacity:.45;cursor:not-allowed}.judy-action.mic.active{color:#1c5fc0;background-color:#57a4f92e}.judy-input{color:#332a22;background:0 0;border:0;outline:none;flex:1;min-width:0;padding-block:.5rem;padding-inline:.35rem;font-size:.92rem}.judy-input::placeholder{color:#332a228f}.judy-send{color:#fff;text-transform:uppercase;letter-spacing:.11em;background:linear-gradient(135deg,#ffc145 0%,#f47c20 55%,#e2432b 100%);border:1px solid #ffffff61;border-radius:999px;align-items:center;gap:.35rem;height:2rem;padding-inline:.78rem .82rem;font-size:.71rem;font-weight:700;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:inline-flex}.judy-send svg{transition:transform .18s}.judy-send:hover:not(:disabled),.judy-send:focus-visible:not(:disabled){transform:scale(1.03);box-shadow:0 12px 32px -16px #f47c20cc}.judy-send:hover:not(:disabled) svg,.judy-send:focus-visible:not(:disabled) svg{transform:translate(1px)}.judy-send:disabled{opacity:.5;cursor:not-allowed}.voice-mode{gap:.4rem;width:100%;margin-inline-start:.3rem;display:grid}.voice-mode p{letter-spacing:.08em;text-transform:uppercase;color:#332a22c2;font-size:.74rem}.voice-wave-shell{align-items:center;gap:2px;height:1.55rem;display:flex}.voice-wave-shell span{background:linear-gradient(#57a4f9f2,#f47c20f2);border-radius:999px;width:3px;transition:height .14s}.judy-message-enter,.judy-message-exit-active{opacity:0;transform:translateY(8px)}.judy-message-enter-active{opacity:1;transform:translateY(0)}.judy-message-enter-active,.judy-message-exit-active{transition:opacity .26s,transform .26s}.judy-panel-enter,.judy-panel-exit-active{opacity:0;transform:translateY(14px)scale(.98)}.judy-panel-enter-active{opacity:1;transform:none}.judy-panel-enter-active,.judy-panel-exit-active{transition:opacity .32s,transform .38s cubic-bezier(.16,1,.3,1)}@keyframes cursor-blink{0%,to{opacity:.25}50%{opacity:1}}@keyframes judy-panel-thinking-dot{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media (max-width:768px){.judy-panel{inset-inline:.65rem;width:auto;max-height:min(88vh,780px);bottom:.7rem}}@media (max-width:640px){.judy-panel{width:100vw;height:100dvh;max-height:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:0;inset-block:0;inset-inline:0}.judy-timeline{flex:1;max-height:none}.judy-prompt-row{margin-top:.6rem}.judy-composer{margin-bottom:max(.85rem, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.judy-panel-enter-active,.judy-panel-exit-active,.judy-message-enter-active,.judy-message-exit-active,.judy-chip,.judy-explain,.judy-send,.judy-send svg,.judy-action,.voice-wave-shell span,.bubble-thinking span,.bubble-core.is-streaming:after{transition:none;animation:none}}
.judy-chat-root{z-index:64;font-family:Inter,sans-serif;position:relative}.judy-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:62;background:radial-gradient(circle at 95% 92%,#f47c2029,#0000 45%),radial-gradient(circle at 82% 84%,#57a4f92e,#0000 40%),#fcfbf92e;border:0;position:fixed;inset:0}.judy-backdrop-enter,.judy-backdrop-exit-active{opacity:0}.judy-backdrop-enter-active{opacity:1}.judy-backdrop-enter-active,.judy-backdrop-exit-active{transition:opacity .24s}@media (max-width:640px){.judy-backdrop{background:#fcfbf959}}@media (prefers-reduced-motion:reduce){.judy-backdrop-enter-active,.judy-backdrop-exit-active{transition:none}}
