.bubble-field{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible}.response-bubble{--bubble-x:0px;--bubble-y:0px;position:absolute;width:min(270px,22vw);min-height:100px;padding:15px 17px 16px;border:1px solid rgba(25,25,24,.12);border-radius:20px;background:rgba(255,255,255,.93);box-shadow:0 18px 45px rgba(27,27,22,.11);pointer-events:auto;animation:bubble-in .55s cubic-bezier(.22,1,.36,1) both,float-bubble 5s ease-in-out var(--bubble-delay) infinite;transform:translate(-50%,-50%);backdrop-filter:blur(14px)}.response-bubble p{margin:10px 0 0;color:var(--foreground);font-size:13px;line-height:1.45;letter-spacing:-.015em}.bubble-meta{display:flex;align-items:center;justify-content:space-between;color:#9b9b93;font:9px 'DM Mono',monospace;letter-spacing:.09em}.bubble-close{width:22px;height:22px;margin:-5px -6px 0 7px;padding:0;border:0;border-radius:50%;background:transparent;color:#8d8d85;font-size:18px;line-height:18px;cursor:pointer;transition:background .18s,color .18s}.bubble-close:hover{background:#ecece6;color:var(--foreground)}.bubble-tail{position:absolute;width:14px;height:14px;background:rgba(255,255,255,.93);border-right:1px solid rgba(25,25,24,.12);border-bottom:1px solid rgba(25,25,24,.12);transform:rotate(45deg);bottom:-7px;left:28px}.bubble-left-top{left:calc(50% - 24vw);top:35%}.bubble-right-top{left:calc(50% + 24vw);top:31%}.bubble-left-bottom{left:calc(50% - 24vw);top:65%}.bubble-right-bottom{left:calc(50% + 24vw);top:68%}.bubble-top{left:50%;top:18%}.bubble-right-top .bubble-tail,.bubble-right-bottom .bubble-tail{left:auto;right:28px;transform:rotate(225deg)}.bubble-top .bubble-tail{left:50%;bottom:-7px}.response-bubble.is-loading{background:rgba(250,250,246,.94)}.response-bubble.is-loading p{color:var(--muted)}.response-bubble.is-loading p:after{content:' ';display:inline-block;width:22px;height:8px;margin-left:5px;vertical-align:middle;background:radial-gradient(circle,#a8be32 0 2px,transparent 3px) 0 50%/8px 8px,radial-gradient(circle,#a8be32 0 2px,transparent 3px) 7px 50%/8px 8px,radial-gradient(circle,#a8be32 0 2px,transparent 3px) 14px 50%/8px 8px;animation:dots .9s steps(3,end) infinite}.response-bubble.is-error{border-color:#dfb4ab}.response-bubble.is-error .bubble-meta{color:#a96d63}@keyframes bubble-in{from{opacity:0;filter:blur(7px);transform:translate(-50%,-44%) scale(.88)}to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}@keyframes float-bubble{0%,100%{margin-top:0}50%{margin-top:-6px}}@keyframes dots{0%{opacity:.3}50%{opacity:1}100%{opacity:.3}}@media(max-width:900px){.response-bubble{width:min(230px,31vw);padding:12px 13px}.response-bubble p{font-size:12px}.bubble-left-top{left:19%;top:29%}.bubble-right-top{left:81%;top:28%}.bubble-left-bottom{left:18%;top:62%}.bubble-right-bottom{left:82%;top:64%}.bubble-top{left:50%;top:14%}}@media(max-width:600px){.response-bubble{width:145px;min-height:86px;padding:10px 11px;border-radius:15px}.response-bubble p{font-size:10px;line-height:1.35;margin-top:7px}.bubble-meta{font-size:7px}.bubble-close{width:18px;height:18px;font-size:15px}.bubble-left-top{left:15%;top:28%}.bubble-right-top{left:85%;top:27%}.bubble-left-bottom{left:15%;top:59%}.bubble-right-bottom{left:85%;top:60%}.bubble-top{left:50%;top:11%}}
.bubble-left-top{left:calc(50% - 18vw)}.bubble-right-top{left:calc(50% + 18vw)}.bubble-left-bottom{left:calc(50% - 18vw)}.bubble-right-bottom{left:calc(50% + 18vw)}
@media(max-width:600px){.bubble-left-top{left:15%}.bubble-right-top{left:85%}.bubble-left-bottom{left:15%}.bubble-right-bottom{left:85%}}
@media(min-width:601px){.bubble-left-top{left:calc(50% - 15vw)}.bubble-right-top{left:calc(50% + 15vw)}.bubble-left-bottom{left:calc(50% - 15vw)}.bubble-right-bottom{left:calc(50% + 15vw)}}
.response-bubble a{color:#6f8614;text-decoration:underline;text-decoration-color:rgba(111,134,20,.4);text-underline-offset:3px;cursor:pointer;pointer-events:auto;transition:color .18s,text-decoration-color .18s}.response-bubble a:hover{color:var(--foreground);text-decoration-color:var(--foreground)}
.bubble-drag{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;margin:-5px 0 0 -6px;border-radius:50%;color:#a0a098;font-size:17px;line-height:1;cursor:grab;touch-action:none;user-select:none;transition:background .18s,color .18s}.bubble-drag:hover,.bubble-drag:focus-visible{background:#ecece6;color:var(--foreground);outline:none}.response-bubble.is-dragging{cursor:grabbing;box-shadow:0 24px 55px rgba(27,27,22,.18)}.response-bubble.is-dragging .bubble-drag{cursor:grabbing;color:var(--foreground)}.bubble-close{order:2;margin:-5px -6px 0 7px}
.response-bubble{width:clamp(280px,30vw,420px);max-width:calc(100vw - 32px);max-height:min(42vh,360px);overflow:auto;overflow-wrap:anywhere;scrollbar-width:thin}.response-bubble p{overflow-wrap:anywhere;word-break:break-word}.response-bubble a{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:900px){.response-bubble{width:clamp(250px,34vw,340px);max-width:calc(100vw - 28px);max-height:38vh}}
@media(max-width:600px){.response-bubble{width:min(300px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:34vh;padding:12px 13px 13px;border-radius:18px}.response-bubble p{font-size:12px;line-height:1.4}}

.profile-bubble{min-height:0;overflow:visible}.profile-bubble p{margin-bottom:14px}.profile-form{display:flex;gap:7px;align-items:center}.profile-input{min-width:0;flex:1;height:36px;padding:0 11px;border:1px solid rgba(25,25,24,.14);border-radius:11px;background:rgba(248,248,245,.72);color:var(--foreground);font:12px Manrope,sans-serif;outline:0}.profile-input:focus{border-color:#a7b858;box-shadow:0 0 0 3px rgba(198,238,85,.18)}.profile-submit{width:36px;height:36px;border:0;border-radius:11px;background:var(--foreground);color:var(--accent);font-size:17px;cursor:pointer}.profile-submit:disabled,.profile-input:disabled{opacity:.55;cursor:default}.profile-bubble.is-complete{opacity:.72}
.profile-answer-bubble{min-height:0;width:min(250px,24vw);padding:13px 15px}.profile-answer-bubble p{margin:9px 0 0;font-size:16px;line-height:1.25}.profile-answer-label{font:9px 'DM Mono',monospace;letter-spacing:.1em;color:#9b9b93}.profile-edit{border:0;border-bottom:1px solid rgba(25,25,24,.2);padding:0 0 2px;background:transparent;color:#777771;font:10px 'DM Mono',monospace;cursor:pointer}.profile-edit:hover{color:var(--foreground);border-color:var(--foreground)}.profile-answer-firstname{left:calc(50% + 24vw);top:24%}.profile-answer-job{left:calc(50% + 24vw);top:39%}.profile-edit-form{margin-top:9px}.profile-answer-bubble.is-editing p{display:none}
.profile-bubble.profile-firstname{left:calc(50% - 24vw);top:35%}.profile-bubble.profile-job{left:calc(50% - 24vw);top:58%}
@media(max-width:600px){.profile-bubble.profile-firstname{left:50%;top:32%}.profile-bubble.profile-job{left:50%;top:52%}}
@media(max-width:600px){.profile-answer-bubble{width:min(220px,calc(100vw - 44px));padding:11px 13px}.profile-answer-bubble p{font-size:14px}.profile-answer-firstname{left:50%;top:20%}.profile-answer-job{left:50%;top:37%}}
.prompt-field{height:72px;border-radius:28px;padding:9px 10px 9px 24px}.prompt-field input{font-size:18px;letter-spacing:-.02em}.prompt-mark{font-size:20px;margin-right:14px}.send-button{height:54px;width:54px;border-radius:18px;font-size:24px}
.bubble-actions{display:flex;margin-top:13px}.more-button{border:0;border-bottom:1px solid rgba(25,25,24,.2);padding:0 0 2px;background:transparent;color:#777771;font:10px 'DM Mono',monospace;letter-spacing:.04em;cursor:pointer;transition:color .18s,border-color .18s}.more-button span{color:#9aaa31;margin-left:4px}.more-button:hover{color:var(--foreground);border-color:var(--foreground)}.more-button:disabled{opacity:.45;cursor:wait}
.feedback-actions{display:flex;gap:4px;margin-left:auto}.feedback-actions[hidden]{display:none}.feedback-actions button{width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;color:#aaa99f;cursor:pointer;transition:color .18s,background .18s,border-color .18s,transform .18s}.feedback-actions button:hover,.feedback-actions button:focus-visible{border-color:rgba(25,25,24,.12);background:#f3f3ed;color:var(--foreground);outline:none;transform:translateY(-1px)}.feedback-actions button.is-selected{border-color:#b4c95b;background:#f5f9df;color:#5c7112}.feedback-actions button:disabled{cursor:default;opacity:.7}.feedback-actions .ph{font-size:14px;vertical-align:-.1em}
@media(max-width:600px){.prompt-field{height:64px;border-radius:24px;padding:8px 9px 8px 18px}.prompt-field input{font-size:16px}.prompt-mark{font-size:18px;margin-right:10px}.send-button{height:48px;width:48px;border-radius:16px}}
.wordmark .wordmark-role{color:var(--muted);font-size:10px;letter-spacing:.08em;margin-left:2px}.wordmark>span:last-child{color:#87a51b;margin-left:7px}
body,body *{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}input,textarea{user-select:text;-webkit-user-select:text}
.stage-copy{max-width:620px}.stage-copy h1{max-width:620px;font-size:clamp(43px,4.2vw,68px)}
@media(max-width:900px){.stage-copy{max-width:330px}.stage-copy h1{max-width:330px;font-size:clamp(40px,7vw,64px)}}
@keyframes bubble-in{0%{opacity:0;filter:blur(7px);transform:translate(-50%,calc(-50% + 155px)) scale(.58)}65%{opacity:1;filter:blur(0);transform:translate(-50%,calc(-50% - 10px)) scale(1.03)}100%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}
.response-bubble{animation-name:bubble-in,float-bubble;animation-duration:.62s,5s}
@keyframes bubble-in{0%{opacity:0;filter:blur(7px);transform:translate(-50%,calc(-50% + 82px)) scale(.72)}65%{opacity:1;filter:blur(0);transform:translate(-50%,calc(-50% - 8px)) scale(1.02)}100%{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}
.bubble-left-top{top:27%}.bubble-right-top{top:24%}.bubble-left-bottom{top:53%}.bubble-right-bottom{top:56%}.bubble-top{top:14%}
.profile-intro{left:calc(50% + 24vw);top:18%;width:min(330px,30vw)}
.profile-intro-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:center}
.profile-intro-form .profile-submit{grid-column:3;grid-row:1 / span 2}
.profile-answer-group{left:calc(50% + 24vw);top:18%;width:min(300px,28vw)}
.profile-answer-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:11px}
.profile-answer-row p{margin:0;min-width:0;overflow-wrap:anywhere}
.profile-answer-key{font:8px 'DM Mono',monospace;letter-spacing:.08em;color:#9b9b93}
@media(max-width:900px){.profile-intro,.profile-answer-group{left:76%;top:17%;width:min(280px,40vw)}}
@media(max-width:600px){.profile-intro,.profile-answer-group{left:50%;top:17%;width:min(310px,calc(100vw - 28px))}.profile-intro-form{grid-template-columns:1fr auto}.profile-intro-form .profile-input:nth-child(2){grid-column:1}.profile-intro-form .profile-submit{grid-column:2;grid-row:1 / span 2}.bubble-left-bottom{top:51%}.bubble-right-bottom{top:54%}}
@media(max-width:600px){.profile-answer-group{display:none}}
.bubble-close .ph{font-size:17px}.bubble-drag .ph{font-size:18px}.more-button .ph,.profile-submit .ph{font-size:16px;vertical-align:-.12em}
@media(max-width:600px){
  .bubble-field{position:fixed;left:0;right:0;top:auto;bottom:calc(max(68px,8vh) + 116px);height:min(42vh,330px);overflow:visible;z-index:15;pointer-events:none}
  .response-bubble{left:50%!important;top:auto!important;bottom:var(--chat-offset,0px);width:min(340px,calc(100vw - 28px));max-width:calc(100vw - 28px);min-height:0;max-height:min(30vh,250px);padding:13px 14px 14px;border-radius:22px 22px 8px 22px;box-shadow:0 16px 42px rgba(27,27,22,.13);animation-name:bubble-in-mobile,float-bubble;animation-duration:.58s,5s}
  .response-bubble .bubble-tail{left:auto;right:24px;bottom:-7px;transform:rotate(45deg)}
  .response-bubble p{font-size:13px;line-height:1.4}
  .profile-bubble{bottom:auto!important;top:17%!important}
  @keyframes bubble-in-mobile{0%{opacity:0;filter:blur(6px);transform:translate(-50%,45px) scale(.9)}70%{opacity:1;filter:blur(0);transform:translate(-50%,-5px) scale(1.015)}100%{opacity:1;filter:blur(0);transform:translate(-50%,0) scale(1)}}
}

/* Response loading: quiet editorial skeleton, no fake message and no CTA. */
.response-bubble.is-loading .bubble-actions{display:none}
.response-bubble.is-loading p{display:flex;flex-direction:column;gap:9px;margin-top:16px}
.response-bubble.is-loading p.is-skeleton span{display:block;width:100%;height:10px;border-radius:999px;background:linear-gradient(100deg,#e9e9e2 20%,#f8f8f4 42%,#e9e9e2 64%);background-size:240% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}
.response-bubble.is-loading p.is-skeleton span:nth-child(2){width:88%}
.response-bubble.is-loading p.is-skeleton span:nth-child(3){width:96%}
.response-bubble.is-loading p.is-skeleton span:nth-child(4){width:62%}
@keyframes skeleton-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

.bubble-links{display:flex;gap:7px;margin-top:15px;padding-top:11px;border-top:1px solid rgba(25,25,24,.09)}.bubble-links[hidden]{display:none}
.bubble-link{position:relative;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(25,25,24,.11);border-radius:999px;background:rgba(248,248,245,.76);color:#777771;text-decoration:none;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
.bubble-link .ph{font-size:16px;vertical-align:middle}
.bubble-link:hover,.bubble-link:focus-visible{border-color:#b4c95b;background:#f5f9df;color:#5c7112;transform:translateY(-2px);outline:none}
.bubble-link::after{content:attr(data-tooltip);position:absolute;z-index:20;left:50%;bottom:calc(100% + 8px);width:max-content;max-width:210px;padding:6px 8px;border-radius:7px;background:#191918;color:#fff;font:10px/1.2 'DM Mono',monospace;letter-spacing:.01em;white-space:normal;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,4px) scale(.96);transition:opacity .16s ease,transform .16s ease;box-shadow:0 7px 18px rgba(25,25,20,.16)}
.bubble-link::before{content:'';position:absolute;z-index:19;left:50%;bottom:calc(100% + 3px);border:5px solid transparent;border-top-color:#191918;opacity:0;transform:translate(-50%,4px);transition:opacity .16s ease,transform .16s ease}
.bubble-link:hover::after,.bubble-link:hover::before,.bubble-link:focus-visible::after,.bubble-link:focus-visible::before{opacity:1;transform:translate(-50%,0) scale(1)}
@media(max-width:600px){.bubble-links{margin-top:12px;padding-top:9px}.bubble-link{width:27px;height:27px}.bubble-link .ph{font-size:14px}}
