/* Robbie v282: readable answers and consistent touch targets. */
#robbieWidget .msg.ai{font-size:15px;line-height:1.65}
#robbieWidget .rb-p{margin-block:0 12px}
#robbieWidget .robbie-goto,#robbieWidget .rb-sources a,#robbieWidget .rb-consent button,#robbieWidget .robbie-result-row{min-height:44px;border-radius:12px!important;box-sizing:border-box}
#robbieWidget .robbie-goto{padding:12px 16px!important;line-height:1.3!important;box-shadow:0 4px 14px #1e5bbf20!important}
#robbieWidget .robbie-result-card{border-radius:16px!important;overflow:hidden;box-shadow:0 4px 18px #17314c0c!important}
.rb-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #dbe4f0}
.rb-sources strong{flex-basis:100%;font-size:12px;color:#52647a;letter-spacing:.02em}
.rb-sources a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #d4dfef;background:linear-gradient(#fff,#f4f7fc);color:#194d9c;text-decoration:none;overflow-wrap:anywhere}
.rb-consent{padding:14px;background:#f4f7fc;border:1px solid #d4dfef;border-radius:12px;margin-top:12px;font-size:13px}
.rb-consent button{padding:10px 14px;margin:4px;border:1px solid #c7d5e8;background:white;color:#194d9c;cursor:pointer}
#robbieWidget a:focus-visible,#robbieWidget button:focus-visible{outline:3px solid #2879d8;outline-offset:3px}
/* v295: hero composition — text left, LARGE Robbie right, sized to the CENTER COLUMN
   (3-rail app shell: center col = min(vw,1540)-712 ≈ 568-828px), NOT the viewport.
   Container queries scoped to the home center column via :has(); fluid so the copy
   never squishes and the 2-line title always fits. Replaces the 104px !important shrink. */
.ab-hero-mascot{object-fit:contain}
main.center:has(.ab-hero){container-type:inline-size}
@container (min-width:520px){
.ab-hero{display:grid;grid-template-columns:minmax(0,1fr) clamp(160px,30cqi,340px);grid-template-areas:"copy robbie" "cards cards";column-gap:clamp(20px,4cqi,52px);align-items:center}
.ab-hero-copy{grid-area:copy;min-width:0}
.ab-hero-title{font-size:clamp(27px,4.8cqi,42px)!important;line-height:1.02!important}
.ab-hero-shortcuts{grid-area:cards!important;margin-top:clamp(22px,3cqi,40px)}
.ab-hero-mascot{grid-area:robbie;position:static!important;display:block!important;align-self:end;justify-self:center;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;width:100%!important;height:auto!important;max-width:340px!important;max-height:none!important;margin:0!important;transform:none!important;float:none!important;filter:drop-shadow(0 18px 40px rgba(15,23,42,.20))}
.ab-hero-sub{max-width:none}
}
@container (max-width:519.98px){.ab-hero-mascot{display:none!important}}
/* v295: Apple-clean whole-answer fade/rise (compositor-only; reduced-motion safe) */
.rb-answer-in{opacity:0;transform:translate3d(0,8px,0);will-change:opacity,transform}
.rb-answer-in-on{opacity:1;transform:translate3d(0,0,0);transition:opacity .34s cubic-bezier(.2,.9,.3,1),transform .34s cubic-bezier(.2,.9,.3,1)}
@media(prefers-reduced-motion:reduce){.rb-answer-in,.rb-answer-in-on{opacity:1!important;transform:none!important;transition:none!important}}
@media(max-width:600px){.rb-sources a{width:100%}}
@media(prefers-reduced-motion:reduce){#robbieWidget *,#robbieWidget *:before,#robbieWidget *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* v283: sanctioned external links in Robbie prose */
/* v285: external portal links in prose become 44px tap-target chips (approved-only, set in JS) */
#robbieWidget .msg.ai a.rb-extlink,#chat .msg.ai a.rb-extlink{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:4px 14px;margin:3px 3px 3px 0;border:1px solid rgba(30,91,191,.30);border-radius:12px;background:linear-gradient(#fff,#f4f7fc);color:#194d9c;font-weight:600;text-decoration:none;line-height:1.2;box-sizing:border-box;vertical-align:middle;overflow-wrap:anywhere}
#robbieWidget .msg.ai a.rb-extlink:active,#chat .msg.ai a.rb-extlink:active{transform:scale(.97)}
#robbieWidget .msg.ai a.rb-extlink:hover,#chat .msg.ai a.rb-extlink:hover{border-color:#1e5bbf;background:#eef4fc}
/* v289: guided-discovery follow-up chips (44px tap targets) */
.rb-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid #e3ebf6}
.rb-followups strong{flex-basis:100%;font-size:12px;color:#52647a;letter-spacing:.02em;margin-bottom:2px}
#robbieWidget .rb-followups button.rb-followup,#chat .rb-followups button.rb-followup{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #cdddf2;border-radius:14px;background:linear-gradient(#fff,#eef4fc);color:#194d9c;font:600 13px/1.25 system-ui,sans-serif;cursor:pointer;text-align:left;box-sizing:border-box}
#robbieWidget .rb-followups button.rb-followup:hover,#chat .rb-followups button.rb-followup:hover{border-color:#1e5bbf;background:#e6eefb}
#robbieWidget .rb-followups button.rb-followup:active,#chat .rb-followups button.rb-followup:active{transform:scale(.98)}
@media(max-width:600px){.rb-followups button.rb-followup{width:100%}}
/* v293: smooth streaming — pre-wrap prose + compositor-only caret (opacity, own layer) */
.rb-streaming{white-space:pre-wrap;word-break:break-word}
.rb-stream-text{white-space:pre-wrap}
.rb-caret{display:inline-block;width:2px;height:1.05em;margin-left:1px;background:currentColor;vertical-align:text-bottom;opacity:1;animation:rbCaretBlink 1.06s steps(1,end) infinite;will-change:opacity;transform:translateZ(0)}
@keyframes rbCaretBlink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.rb-caret{animation:none}}
