/* ==========================================================================
   Ask Burbank v306 — Robbie answer presentation
   Styles the markup produced by /ab-robbie-ui.js (place, department and event
   cards, map previews, numbered citations, sources, next steps, the answer
   toolbar and the one-line suggestion row). Presentation only: removing this
   file leaves every answer readable and every control working.
   Icons: Lucide (ISC). Map tiles: CARTO Voyager over OpenStreetMap data.
   ========================================================================== */

:root{
  --rb-card-r:18px; --rb-ctl-r:12px; --rb-pill-r:999px;
  --rb-line:var(--abx-line,#E2E7DF); --rb-line-2:var(--abx-line-2,#ECEFE8);
  --rb-ink:var(--abx-ink,#19241F); --rb-ink-2:var(--abx-ink-2,#59645D); --rb-ink-3:var(--abx-ink-3,#66716A);
  --rb-blue:var(--abx-blue,#205CC5); --rb-blue-h:var(--abx-blue-hover,#1B50AD); --rb-blue-soft:var(--abx-blue-soft,#EDF3FE); --rb-blue-bd:#CADBF8;
  --rb-bubble:var(--abx-bg,#F7F8F5); --rb-avatar:44px;
}
.rb-ic{display:inline-block;flex:0 0 auto;vertical-align:middle}
.rb-ic-sm{opacity:.85}

/* ------------------------------------------------ message layout + avatar */
body.abx #robbieWidget .msg{position:relative}
body.abx #robbieWidget .msg.ai.rb-answer{background:transparent!important;padding:0 0 0 calc(var(--rb-avatar) + 12px)!important;max-width:100%!important;width:100%;border-radius:0!important;container-type:inline-size;container-name:rbanswer}
body.abx #robbieWidget .msg.ai.rb-answer:before{content:"";position:absolute;left:0;top:0;width:var(--rb-avatar);height:var(--rb-avatar);border-radius:50%;
  background:var(--abx-soft-green,#EEF4E6) url(/robbie-mascot.png?v=3) no-repeat;background-size:290% auto;background-position:50% 3%;box-shadow:0 0 0 1px var(--rb-line)}
body.abx #robbieWidget .msg.user{margin-right:44px}
body.abx #robbieWidget .msg.user:after{content:"";position:absolute;right:-44px;top:3px;width:34px;height:34px;border-radius:50%;background:var(--rb-blue-soft) no-repeat center/18px
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23205CC5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='5'/%3E%3Cpath d='M20 21a8 8 0 0 0-16 0'/%3E%3C/svg%3E")}

/* ------------------------------------------------ selectable text (p17u)
   The site's base stylesheet (_astro/style.*.css) turns text selection off on html and body. In the conversation, the
   visitor's question and Robbie's answers can be selected and copied. Buttons, summaries and what the Copy button also
   leaves out ([data-rb-skip]: the toolbar, people's photos, maps) stay unselectable, so taps and drags on them work as before. */
body.abx #robbieWidget #chat .msg{-webkit-user-select:text;user-select:text}
body.abx #robbieWidget #chat .msg button,body.abx #robbieWidget #chat .msg summary,body.abx #robbieWidget #chat .msg .rb-btn,
body.abx #robbieWidget #chat .msg [role="button"],body.abx #robbieWidget #chat .msg [data-rb-skip]{-webkit-user-select:none;user-select:none}
/* a drag past the end of the conversation would otherwise copy the typing box's placeholder ("Ask about Burbank…") */
body.abx #robbieWidget #aiInput::placeholder{-webkit-user-select:none;user-select:none}
/* p18t: on the smallest phones the empty box keeps "Ask about Burbank…" on one line instead of a cut second line (typing still wraps as usual) */
body.abx #robbieWidget #aiInput:placeholder-shown{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.abx #robbieWidget #aiInput::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* p18d: Robbie's answer text +2 px (headings 19, tables 16); cards keep their sizes */
body.abx #robbieWidget .msg.ai{font-size:17.5px!important}
body.abx #robbieWidget .msg.ai .rb-p{font-size:17.5px!important}
body.abx #robbieWidget .rb-bubble{background:var(--rb-bubble);border-radius:8px 20px 20px 20px;padding:16px 18px;color:var(--rb-ink)}
body.abx #robbieWidget .rb-prose{padding:4px 2px;color:var(--rb-ink)}
body.abx #robbieWidget .rb-answer .rb-p:last-child{margin-bottom:0}
body.abx #robbieWidget .rb-answer .rb-head{font-size:19px!important;font-weight:700!important;color:var(--rb-ink)!important;letter-spacing:-.01em;margin:6px 0 6px}
body.abx #robbieWidget .rb-answer .rb-step-n{background:var(--rb-blue)!important;border-radius:50%!important}
body.abx #robbieWidget .rb-answer strong{font-weight:680;color:var(--rb-ink)}

body.abx #robbieWidget #aiInput:focus,body.abx #robbieWidget #aiInput:focus-visible{outline:none!important;box-shadow:none!important}
body.abx #robbieWidget .rb-answer .rb-list{margin:4px 0 12px;display:flex;flex-direction:column;gap:4px}
body.abx #robbieWidget .rb-answer .rb-li{display:flex;align-items:baseline;gap:8px}
body.abx #robbieWidget .rb-answer .rb-li-dot{flex:0 0 auto;color:var(--rb-blue);font-weight:700}
body.abx #robbieWidget .rb-answer .rb-li-n{min-width:1.4em;font-variant-numeric:tabular-nums}
body.abx #robbieWidget .rb-answer .rb-list:last-child{margin-bottom:0}

/* inline links, citations, phone numbers */
body.abx #robbieWidget .rb-inline-link{color:var(--rb-blue)!important;text-decoration:underline;text-decoration-color:rgba(32,92,197,.35);text-underline-offset:3px;font-weight:550}
body.abx #robbieWidget .rb-inline-link:hover{text-decoration-color:currentColor}
body.abx #robbieWidget .rb-cite{display:inline-block;margin-left:1px;padding:0 5px;border-radius:6px;background:var(--rb-blue-soft);color:var(--rb-blue)!important;font-size:.8em;font-weight:700;line-height:1.55;text-decoration:none!important;vertical-align:.08em}
body.abx #robbieWidget .rb-cite:hover{background:#DCE8FD}
body.abx #robbieWidget .rb-tel{color:var(--rb-blue)!important;font-weight:600;text-decoration:none;white-space:nowrap}
body.abx #robbieWidget .rb-tel:hover{text-decoration:underline;text-underline-offset:3px}
body.abx #robbieWidget .rb-unverified{display:inline-block;padding:0 6px;border-radius:6px;background:#F1F3EF;color:var(--rb-ink-3);font-size:.85em;font-style:normal;cursor:help}

/* ----------------------------------------------------------------- cards */
body.abx #robbieWidget .rb-cards{display:grid!important;gap:12px;margin:12px 0!important}
body.abx #robbieWidget .rb-card{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "map" "acts" "src";gap:14px 18px;margin:0!important;padding:18px 20px!important;background:#fff!important;border:1px solid var(--rb-line)!important;
  border-radius:var(--rb-card-r)!important;box-shadow:0 1px 2px rgba(25,36,31,.04)!important;cursor:default!important;transform:none!important;color:var(--rb-ink)}
body.abx #robbieWidget .rb-card.rb-place[data-biz]{cursor:pointer!important}
body.abx #robbieWidget .rb-card .rb-card-title{font-size:20px!important}
@media (max-width:600px){body.abx #robbieWidget .rb-card .rb-card-title{font-size:18.5px!important}}
body.abx #robbieWidget .rb-card:hover{box-shadow:0 1px 2px rgba(25,36,31,.04),0 8px 22px rgba(25,36,31,.07)!important}
body.abx #robbieWidget .rb-card-main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:10px}
body.abx #robbieWidget .rb-card>.rb-map{grid-area:map}
body.abx #robbieWidget .rb-card>.rb-card-acts{grid-area:acts}
body.abx #robbieWidget .rb-card>.rb-card-src{grid-area:src}
body.abx #robbieWidget .rb-card-head{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-start!important;gap:8px 10px;margin:0!important}
body.abx #robbieWidget .rb-card-title{display:block!important;margin:0!important;font-size:20px!important;line-height:1.25!important;font-weight:720!important;letter-spacing:-.02em!important;color:var(--rb-ink)!important}
body.abx #robbieWidget .rb-tag{flex:0 0 auto!important;min-width:0!important;display:inline-flex!important;align-items:center;height:26px;margin:0!important;padding:0 10px;border-radius:var(--rb-pill-r);background:#F1F3EF;color:var(--rb-ink-2)!important;font:600 12.5px/1 var(--abx-font,inherit)!important;letter-spacing:0!important;text-transform:none!important}
body.abx #robbieWidget .rb-tag-city{background:var(--abx-soft-green,#EEF4E6);color:var(--abx-green-ink,#3F6B16)!important}
body.abx #robbieWidget .rb-badge{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border-radius:var(--rb-pill-r);font:650 12px/1 var(--abx-font,inherit)}
body.abx #robbieWidget .rb-badge-member{background:#FFF6DC;color:#7A5300;border:1px solid #F1DFA6}
body.abx #robbieWidget .rb-badge-member .rb-ic{fill:currentColor;stroke:none}
body.abx #robbieWidget .rb-badge-spons{background:#F0EDFA;color:#51408B;border:1px solid #D7CFF0}
body.abx #robbieWidget .rb-card-desc{display:block!important;margin:0!important;font-size:14.5px!important;line-height:1.55!important;color:var(--rb-ink-2)!important}
body.abx #robbieWidget .rb-meta{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:#8A5A00}
body.abx #robbieWidget .rb-meta .rb-star{fill:#E2A21B;stroke:#E2A21B}
body.abx #robbieWidget .rb-meta-note{font-weight:500;color:var(--rb-ink-3)}

body.abx #robbieWidget .rb-facts{display:flex!important;flex-direction:column;gap:2px;margin:0!important;padding:0!important;border:0!important}
body.abx #robbieWidget .rb-fact{display:flex!important;align-items:flex-start;gap:10px;min-height:0!important;padding:4px 0!important;border-radius:6px!important;color:var(--rb-ink)!important;font:400 15px/1.45 var(--abx-font,inherit)!important;text-decoration:none!important;background:none!important}
body.abx #robbieWidget .rb-fact .rb-ic{margin-top:1px;color:var(--rb-ink-2)}
body.abx #robbieWidget .rb-fact:hover{background:none!important}
body.abx #robbieWidget .rb-fact .robbie-result-text{flex:1 1 auto!important;min-width:0;word-break:normal;overflow-wrap:anywhere}
body.abx #robbieWidget a.rb-fact:hover .robbie-result-text{text-decoration:underline;text-underline-offset:3px}
body.abx #robbieWidget .rb-fact.robbie-result-row-phone .robbie-result-text,body.abx #robbieWidget .rb-fact.robbie-result-row-web .robbie-result-text{color:var(--rb-blue)}
body.abx #robbieWidget .rb-fact.robbie-result-row-phone .robbie-result-text{font-weight:600}
body.abx #robbieWidget .rb-fact-label{color:var(--rb-ink);font-weight:500}
body.abx #robbieWidget .rb-fact-note{color:var(--rb-ink-3);font-size:13px;margin-left:4px}
body.abx #robbieWidget .rb-fact.robbie-result-row-phone .rb-fact-label{color:var(--rb-ink)}
body.abx #robbieWidget .rb-card-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 12px;border-radius:10px;background:var(--rb-bubble);color:var(--rb-ink-2);font-size:13.5px;line-height:1.45}
body.abx #robbieWidget .rb-card-note .rb-ic{margin-top:1px}

body.abx #robbieWidget .rb-card-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
body.abx #robbieWidget .rb-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:44px!important;padding:0 16px!important;border-radius:var(--rb-ctl-r)!important;
  border:1.5px solid var(--rb-blue-bd)!important;background:#fff!important;color:var(--rb-blue)!important;font:600 14.5px/1.1 var(--abx-font,inherit)!important;text-decoration:none!important;cursor:pointer;
  box-shadow:none!important;transform:none!important;white-space:nowrap;transition:background var(--abx-t-fast,140ms),border-color var(--abx-t-fast,140ms)}
body.abx #robbieWidget .rb-btn:hover{background:var(--rb-blue-soft)!important;border-color:var(--rb-blue)!important}
body.abx #robbieWidget .rb-btn-primary{background:var(--rb-blue)!important;border-color:var(--rb-blue)!important;color:#fff!important}
body.abx #robbieWidget .rb-btn-primary:hover{background:var(--rb-blue-h)!important;border-color:var(--rb-blue-h)!important}
body.abx #robbieWidget .rb-btn-quiet{flex:0 0 auto!important;border-color:transparent!important;color:var(--rb-ink-2)!important;padding:0 10px!important}
body.abx #robbieWidget .rb-btn-quiet:hover{background:var(--rb-bubble)!important;border-color:transparent!important;color:var(--rb-ink)!important}
body.abx #robbieWidget .rb-card-src{font-size:12.5px;line-height:1.4;color:var(--rb-ink-3)}

/* events */
body.abx #robbieWidget .rb-card.rb-event{grid-template-columns:62px minmax(0,1fr);grid-template-areas:"date main" "date acts" "date src";gap:12px 16px}
body.abx #robbieWidget .rb-ev-date{grid-area:date;align-self:start;display:flex;flex-direction:column;align-items:center;justify-content:center;width:62px;height:66px;border-radius:14px;background:var(--tone-events-bg,#FFF3E3);color:var(--tone-events,#8A4B08);border:1px solid var(--tone-events-bd,#F3D7B1)}
body.abx #robbieWidget .rb-ev-date span{font-size:11.5px;font-weight:750;letter-spacing:.08em}
body.abx #robbieWidget .rb-ev-date b{font-size:25px;line-height:1.05;font-weight:780}

/* map preview */
body.abx #robbieWidget .rb-map{position:relative;overflow:hidden;min-height:180px;border-radius:14px;background:#EEF1EA;border:1px solid var(--rb-line-2);isolation:isolate;cursor:default}
body.abx #robbieWidget .rb-map:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,36,31,.04) 1px,transparent 1px) 0 0/28px 28px,linear-gradient(rgba(25,36,31,.04) 1px,transparent 1px) 0 0/28px 28px;z-index:0}
body.abx #robbieWidget .rb-map-tiles{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .3s}
body.abx #robbieWidget .rb-map.rb-map-ready .rb-map-tiles{opacity:1}
body.abx #robbieWidget .rb-map-tiles img{position:absolute;width:256px!important;height:256px!important;max-width:none!important;border-radius:0!important;margin:0!important;user-select:none;pointer-events:none}
body.abx #robbieWidget .rb-map-tiles .rb-map-static{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important;margin:0!important}
body.abx #robbieWidget .rb-map-pin{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-92%);color:var(--rb-blue);filter:drop-shadow(0 3px 4px rgba(25,36,31,.3));pointer-events:none}
body.abx #robbieWidget .rb-map-pin svg{fill:var(--rb-blue);stroke:#fff;stroke-width:1.6}
body.abx #robbieWidget .rb-map-open{position:absolute;right:10px;bottom:10px;z-index:3;display:inline-flex!important;align-items:center;gap:6px;min-height:36px!important;padding:0 13px!important;border:0!important;border-radius:var(--rb-pill-r)!important;
  background:#fff!important;color:var(--rb-ink)!important;font:600 13.5px/1 var(--abx-font,inherit)!important;box-shadow:0 1px 2px rgba(25,36,31,.12),0 4px 12px rgba(25,36,31,.14)!important;cursor:pointer}
body.abx #robbieWidget .rb-map-open:hover{background:var(--rb-blue-soft)!important;color:var(--rb-blue)!important}
body.abx #robbieWidget .rb-map-attr{position:absolute;left:6px;bottom:6px;z-index:3;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.86);color:var(--rb-ink-2);font-size:10px;line-height:1.3}
body.abx #robbieWidget .rb-map-attr a{color:inherit!important;text-decoration:none}
body.abx #robbieWidget .rb-map-fail{display:none;position:absolute;inset:0;z-index:2;align-items:center;justify-content:center;padding:16px 16px 52px;text-align:center;color:var(--rb-ink-2);font-size:13px;line-height:1.4}
body.abx #robbieWidget .rb-map.rb-map-failed .rb-map-fail{display:flex}
body.abx #robbieWidget .rb-map.rb-map-failed .rb-map-tiles,body.abx #robbieWidget .rb-map.rb-map-failed .rb-map-pin,body.abx #robbieWidget .rb-map.rb-map-failed .rb-map-open{display:none!important}
/* keyless Google embed: a live map of the address (Google draws its own pin, labels and attribution) */
body.abx #robbieWidget .rb-map-embed{background:#E8ECE6}
body.abx #robbieWidget .rb-map-embed .rb-map-tiles iframe{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;border:0!important;border-radius:0!important;margin:0!important}
body.abx #robbieWidget .rb-map-embed .rb-map-open{display:none!important} /* Google's own "Open in Maps" sits in the same corner; Directions is on the card */

/* tables */
body.abx #robbieWidget .rb-table-wrap{margin:10px 0;overflow-x:auto;border:1px solid var(--rb-line);border-radius:14px;background:#fff;-webkit-overflow-scrolling:touch}
body.abx #robbieWidget .rb-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
body.abx #robbieWidget .rb-table th{background:var(--rb-bubble);color:var(--rb-ink);font-weight:650;text-align:left;padding:10px 12px;border-bottom:1px solid var(--rb-line);white-space:nowrap}
body.abx #robbieWidget .rb-table td{padding:10px 12px;border-bottom:1px solid var(--rb-line-2);vertical-align:top;color:var(--rb-ink)}
body.abx #robbieWidget .rb-table tr:last-child td{border-bottom:0}

/* ------------------------------------- page links, sources, next steps */
body.abx #robbieWidget .rb-pagelinks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
body.abx #robbieWidget .rb-answer .robbie-goto,body.abx #robbieWidget .rb-pagelinks .robbie-goto{display:inline-flex!important;align-items:center;gap:8px!important;min-height:42px!important;margin:0!important;padding:0 16px!important;
  background:#fff!important;color:var(--rb-blue)!important;border:1.5px solid var(--rb-blue-bd)!important;border-radius:var(--rb-ctl-r)!important;font:600 14.5px/1.2 var(--abx-font,inherit)!important;box-shadow:none!important}
body.abx #robbieWidget .rb-answer .robbie-goto:hover{background:var(--rb-blue-soft)!important;border-color:var(--rb-blue)!important}
body.abx #robbieWidget .rb-answer .robbie-goto span{font-size:15px!important}

body.abx #robbieWidget .rb-answer .rb-sources,body.abx #robbieWidget .rb-answer .rb-next{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:14px 0 0!important;padding:12px 0 0!important;border-top:1px solid var(--rb-line-2)!important}
body.abx #robbieWidget .rb-row-label{flex:0 0 auto;min-width:86px;font-size:14px;font-weight:600;color:var(--rb-ink-2)}
body.abx #robbieWidget .rb-src-list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;min-width:0;flex:1 1 300px}
body.abx #robbieWidget .rb-src-item{margin:0;padding:0;max-width:100%}
body.abx #robbieWidget .rb-answer .rb-src-item a{display:inline-flex!important;align-items:center;gap:6px;max-width:100%;min-height:36px!important;width:auto!important;padding:0 12px!important;border-radius:var(--rb-pill-r)!important;
  border:1px solid var(--rb-blue-bd)!important;background:#fff!important;color:var(--rb-blue)!important;font:550 14px/1.2 var(--abx-font,inherit)!important;text-decoration:none!important}
body.abx #robbieWidget .rb-answer .rb-src-item a:hover{background:var(--rb-blue-soft)!important;border-color:var(--rb-blue)!important}
body.abx #robbieWidget .rb-src-n{font-weight:700}
body.abx #robbieWidget .rb-src-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
body.abx #robbieWidget .rb-src-h,body.abx #robbieWidget .rb-src-k{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.abx #robbieWidget .rb-src-official a{border-color:#BFD3F5!important}
body.abx #robbieWidget .rb-src-more{min-height:36px!important;padding:0 12px!important;border-radius:var(--rb-pill-r)!important;border:1px dashed var(--rb-line)!important;background:#fff!important;color:var(--rb-ink-2)!important;font:550 13.5px/1 var(--abx-font,inherit)!important;cursor:pointer}

body.abx #robbieWidget .rb-next-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 300px;min-width:0}
body.abx #robbieWidget .rb-answer button.rb-chip,body.abx #robbieWidget .rb-next .rb-followup{display:inline-flex!important;align-items:center;gap:8px;width:auto!important;min-height:40px!important;padding:0 14px!important;border-radius:var(--rb-pill-r)!important;
  border:1px solid var(--rb-line)!important;background:#fff!important;color:var(--rb-ink)!important;font:550 14.5px/1.2 var(--abx-font,inherit)!important;text-align:left;cursor:pointer;transform:none!important}
body.abx #robbieWidget .rb-answer button.rb-chip .rb-ic{color:var(--rb-ink-2)}
body.abx #robbieWidget .rb-answer button.rb-chip:hover{border-color:#C9D2C5!important;background:#FAFBF8!important}

/* directory continuation link (business answers) */
body.abx #robbieWidget a.robbie-dir-cta{display:flex!important;align-items:center;gap:12px;margin:14px 0 0!important;padding:12px 14px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--rb-line)!important;box-shadow:none!important;color:var(--rb-ink)!important;transform:none!important}
body.abx #robbieWidget a.robbie-dir-cta:before,body.abx #robbieWidget a.robbie-dir-cta:after{display:none!important}
body.abx #robbieWidget a.robbie-dir-cta:hover{border-color:var(--rb-blue-bd)!important;background:#FAFCFF!important}
body.abx #robbieWidget .robbie-dir-cta .rdc-ic{width:38px!important;height:38px!important;border-radius:50%!important;background:var(--rb-blue)!important}
body.abx #robbieWidget .robbie-dir-cta .rdc-t{color:var(--rb-ink)!important;text-shadow:none!important;font:650 15px/1.3 var(--abx-font,inherit)!important}
body.abx #robbieWidget .robbie-dir-cta .rdc-sub{color:var(--rb-ink-2)!important;text-shadow:none!important;font:500 13px/1.4 var(--abx-font,inherit)!important}
body.abx #robbieWidget .robbie-dir-cta .rdc-arrow{background:var(--rb-blue-soft)!important;color:var(--rb-blue)!important}

/* ---------------------------------------------------------- answer toolbar */
body.abx #robbieWidget .msg-actions{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0!important;padding:12px 0 0!important;border-top:1px solid var(--rb-line-2);background:none!important;opacity:1!important}
body.abx #robbieWidget .msg-actions .mact{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;min-height:38px!important;padding:0 13px!important;border-radius:10px!important;border:1px solid var(--rb-line)!important;
  background:#fff!important;color:var(--rb-ink)!important;font:550 14px/1 var(--abx-font,inherit)!important;box-shadow:none!important;transform:none!important;cursor:pointer}
body.abx #robbieWidget .msg-actions .mact:hover{background:var(--rb-bubble)!important;border-color:#CFD7CB!important}
body.abx #robbieWidget .msg-actions .mact .rb-ic{color:var(--rb-ink-2)}
body.abx #robbieWidget .msg-actions .mact-up,body.abx #robbieWidget .msg-actions .mact-down{width:38px;padding:0!important}
body.abx #robbieWidget .msg-actions .mact.mact-ok{background:var(--abx-soft-green,#EEF4E6)!important;border-color:#D3E2C3!important;color:var(--abx-green-ink,#3F6B16)!important}
body.abx #robbieWidget .msg-actions .mact.sel{background:var(--rb-blue)!important;border-color:var(--rb-blue)!important;color:#fff!important}
body.abx #robbieWidget .msg-actions .mact.sel .rb-ic{color:#fff}
body.abx #robbieWidget .mact-sep{flex:1 1 8px;min-width:8px}
body.abx #robbieWidget .mact-status{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.abx #robbieWidget .rb-answer .msg-actions{margin-left:0}
/* feedback consent */
body.abx #robbieWidget .rb-consent{margin-top:12px!important;padding:14px 16px!important;background:var(--rb-bubble)!important;border:1px solid var(--rb-line)!important;border-radius:14px!important;font-size:14px!important;line-height:1.5;color:var(--rb-ink)}
body.abx #robbieWidget .rb-consent p{margin:0 0 10px}
body.abx #robbieWidget .rb-consent button{min-height:40px!important;margin:0 8px 0 0!important;padding:0 14px!important;border-radius:var(--rb-pill-r)!important;border:1.5px solid var(--rb-blue-bd)!important;background:#fff!important;color:var(--rb-blue)!important;font:600 14px/1 var(--abx-font,inherit)!important}
body.abx #robbieWidget .rb-consent button:first-of-type{background:var(--rb-blue)!important;border-color:var(--rb-blue)!important;color:#fff!important}

/* offline / error */
body.abx #robbieWidget .rb-offline{border-radius:14px!important;padding:12px 14px!important;font:550 14px/1.45 var(--abx-font,inherit)!important;background:#FFF7ED!important;border-color:#FAD9B5!important;color:#8A3B0F!important}
body.abx #robbieWidget .rb-off-ic{display:inline-flex;color:#C2410C}
body.abx #robbieWidget .rb-retry-btn{display:inline-flex!important;align-items:center;gap:6px;min-height:38px!important;padding:0 14px!important;border-radius:var(--rb-pill-r)!important;background:var(--rb-blue)!important;font:600 13.5px/1 var(--abx-font,inherit)!important}

/* ------------------------------------------------ starters + composer */
body.abx #robbieWidget .rb-start{display:inline-flex!important;align-items:center;gap:8px}
body.abx #robbieWidget .rb-start-ico{display:inline-flex;color:var(--rb-blue)}
body.abx #robbieWidget .rb-start-hero{background:var(--rb-blue-soft)!important;border-color:var(--rb-blue-bd)!important;color:#173D85!important}
body.abx #robbieWidget .rb-compose-note{margin:8px 6px 0;font-size:12.5px;line-height:1.35;color:var(--rb-ink-3)}
/* p18z7: the daily allowance on its own line under the source note; over the last five it counts down in a darker, heavier ink */
body.abx #robbieWidget .rb-quota{display:block;margin-top:1px}
body.abx #robbieWidget .rb-quota.is-low{color:var(--rb-ink-2);font-weight:650}
body.abx #robbieWidget.rb-generating .send-btn{opacity:.72;cursor:progress}

/* one-line suggestion row: refined pills with tinted icon badges, edge fades, smooth drift */
body.abx #robbieWidget .quick-asks.rb-mq{display:flex!important;flex-direction:column;flex-wrap:nowrap!important;gap:8px;margin:0 0 12px!important;overflow:visible!important;-webkit-mask:none!important;mask:none!important}
body.abx #robbieWidget .rb-mq-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}
body.abx #robbieWidget .rb-mq-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rb-ink-3)}
body.abx #robbieWidget .rb-mq-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:30px!important;height:30px!important;min-height:0!important;padding:0!important;border-radius:50%!important;border:1px solid var(--rb-line)!important;background:#fff!important;color:var(--rb-ink-2)!important;cursor:pointer;box-shadow:none!important}
body.abx #robbieWidget .rb-mq-toggle:hover{color:var(--rb-ink)!important;border-color:#CFD7CB!important}
body.abx #robbieWidget .rb-mq-view{position:relative;overflow:hidden;touch-action:pan-y;cursor:grab;padding:3px 0 5px;
  -webkit-mask:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 34px),transparent);mask:linear-gradient(90deg,transparent 0,#000 22px,#000 calc(100% - 34px),transparent)}
body.abx #robbieWidget .rb-mq-view.rb-mq-dragging{cursor:grabbing}
body.abx #robbieWidget .rb-mq-track{display:flex;width:max-content;will-change:transform}
body.abx #robbieWidget .rb-mq-set{display:flex;gap:8px;padding-right:8px}
body.abx #robbieWidget .rb-mq-chip{--mq:#205CC5;display:inline-flex!important;align-items:center;gap:9px;flex:0 0 auto;min-height:38px!important;padding:0 15px 0 5px!important;border-radius:999px!important;border:1px solid var(--rb-line)!important;
  background:#fff!important;color:var(--rb-ink)!important;font:550 14px/1 var(--abx-font,inherit)!important;white-space:nowrap;cursor:pointer;box-shadow:0 1px 2px rgba(25,36,31,.04)!important;transition:border-color .15s,box-shadow .15s,transform .15s;user-select:none;-webkit-user-select:none}
body.abx #robbieWidget .rb-mq-chip:hover{border-color:color-mix(in srgb,var(--mq) 35%,#fff)!important;box-shadow:0 4px 12px rgba(25,36,31,.08)!important;transform:translateY(-1px)}
body.abx #robbieWidget .rb-mq-ic{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:color-mix(in srgb,var(--mq) 13%,#fff);color:color-mix(in srgb,var(--mq) 78%,#000)}
body.abx #robbieWidget .rb-mq-ic .rb-ic{color:inherit}
body.abx #robbieWidget .rb-mq-chip[data-ic="map"],body.abx #robbieWidget .rb-mq-chip[data-ic="carrot"]{--mq:#3F7E1E}
body.abx #robbieWidget .rb-mq-chip[data-ic="pizza"],body.abx #robbieWidget .rb-mq-chip[data-ic="utensils"],body.abx #robbieWidget .rb-mq-chip[data-ic="egg"]{--mq:#C2410C}
body.abx #robbieWidget .rb-mq-chip[data-ic="calendar"],body.abx #robbieWidget .rb-mq-chip[data-ic="star"]{--mq:#A15C00}
body.abx #robbieWidget .rb-mq-chip[data-ic="home"]{--mq:#0F766E}
body.abx #robbieWidget .rb-mq-chip[data-ic="clipboard"],body.abx #robbieWidget .rb-mq-chip[data-ic="users"]{--mq:#205CC5}
body.abx #robbieWidget .rb-mq-chip[data-ic="heart"]{--mq:#BE185D}
body.abx #robbieWidget .rb-mq-chip[data-ic="coffee"]{--mq:#8A4B08}
body.abx #robbieWidget .rb-mq-chip[data-ic="paw"]{--mq:#6D28D9}
body.abx #robbieWidget .rb-mq-chip[data-ic="landmark"]{--mq:#934D37}
@media (prefers-reduced-motion:reduce){body.abx #robbieWidget .rb-mq-view{overflow-x:auto;scrollbar-width:none}body.abx #robbieWidget .rb-mq-chip{transition:none}}

/* focus */
body.abx #robbieWidget .rb-answer :is(a,button):focus-visible,body.abx #robbieWidget .rb-mq :is(a,button):focus-visible,body.abx #robbieWidget .msg-actions button:focus-visible{outline:3px solid var(--abx-focus,#205CC5)!important;outline-offset:2px}

/* ------------------------------------------------------------- map dialog */
.rb-mapdlg{width:min(880px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:22px;background:#fff;color:var(--rb-ink);box-shadow:var(--abx-shadow-3,0 22px 56px rgba(25,36,31,.2));overflow:hidden;font-family:var(--abx-font,inherit)}
.rb-mapdlg[open]{display:flex;flex-direction:column}
.rb-mapdlg::backdrop{background:rgba(25,36,31,.42)}
.rb-mapdlg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 18px 14px 22px;border-bottom:1px solid var(--rb-line-2)}
.rb-mapdlg-title{margin:0;font-size:20px;line-height:1.25;font-weight:720;letter-spacing:-.02em;color:var(--rb-ink)}
.rb-mapdlg-addr{margin:4px 0 0;font-size:14.5px;color:var(--rb-ink-2)}
.rb-mapdlg .rb-icbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border:0;border-radius:50%;background:transparent;color:var(--rb-ink-2);cursor:pointer}
.rb-mapdlg .rb-icbtn:hover{background:var(--rb-bubble);color:var(--rb-ink)}
.rb-mapdlg-map{height:min(60vh,520px);min-height:280px;background:#EEF1EA}
.rb-mapdlg-map iframe{display:block;width:100%;height:100%;border:0}
.rb-mapdlg-err{margin:0;padding:10px 22px;background:#FFF7ED;color:#8A3B0F;font-size:13.5px}
.rb-mapdlg-foot{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px 18px 22px;border-top:1px solid var(--rb-line-2)}
.rb-mapdlg .rb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--rb-ctl-r);border:1.5px solid var(--rb-blue-bd);background:#fff;color:var(--rb-blue);font:600 14.5px/1.1 var(--abx-font,inherit);text-decoration:none}
.rb-mapdlg .rb-btn:hover{background:var(--rb-blue-soft);border-color:var(--rb-blue)}
.rb-mapdlg .rb-btn-primary{background:var(--rb-blue);border-color:var(--rb-blue);color:#fff}
.rb-mapdlg .rb-btn-primary:hover{background:var(--rb-blue-h);border-color:var(--rb-blue-h)}
.rb-mapdlg :is(a,button):focus-visible{outline:3px solid var(--abx-focus,#205CC5);outline-offset:2px}
.rb-lpin{display:block;color:var(--rb-blue);filter:drop-shadow(0 3px 4px rgba(25,36,31,.3))}
.rb-lpin svg{fill:var(--rb-blue);stroke:#fff;stroke-width:1.6}

/* ---------------------------------------------------------- narrow answers */
@container rbanswer (min-width:600px){
  body.abx #robbieWidget .rb-card.rb-has-map{grid-template-columns:minmax(0,1fr) minmax(210px,40%);grid-template-areas:"main map" "acts map" "src map";grid-template-rows:auto auto 1fr}
  body.abx #robbieWidget .rb-card.rb-has-map>.rb-map{min-height:200px}
}
@container rbanswer (max-width:560px){
  body.abx #robbieWidget .rb-card>.rb-map{min-height:150px}
  body.abx #robbieWidget .rb-card-acts .rb-btn{flex:1 1 auto;min-width:0;max-width:100%;white-space:normal;text-align:center;line-height:1.2} /* p17e: a long label ("Call Community Development") takes its own row and wraps instead of running off the card */
  body.abx #robbieWidget .rb-row-label{flex:0 0 100%;min-width:0}
}
@media (max-width:600px){
  :root{--rb-avatar:36px}
  body.abx #robbieWidget .msg.ai.rb-answer{padding-left:0!important}
  body.abx #robbieWidget .msg.ai.rb-answer>.rb-bubble{margin-left:46px}
  body.abx #robbieWidget .msg.ai.rb-answer>:first-child:not(.rb-bubble){margin-left:46px}
  body.abx #robbieWidget .msg.user{margin-right:40px}
  body.abx #robbieWidget .msg.user:after{right:-40px;width:32px;height:32px}
  body.abx #robbieWidget .rb-card{padding:16px!important}
  body.abx #robbieWidget .rb-card-title{font-size:18.5px}
  body.abx #robbieWidget .rb-card-acts .rb-btn{flex:1 1 auto;min-width:0;max-width:100%;white-space:normal;text-align:center;line-height:1.2} /* p17e: a long label ("Call Community Development") takes its own row and wraps instead of running off the card */
  body.abx #robbieWidget .rb-answer .rb-src-item a{width:auto!important}
  body.abx #robbieWidget .rb-next .rb-followup{width:auto!important}
  body.abx #robbieWidget .msg-actions .mact{padding:0 11px!important}
  .rb-mapdlg{width:100vw;max-height:100dvh;height:100dvh;border-radius:0}
  .rb-mapdlg-map{flex:1;height:auto}
}
@media (prefers-reduced-motion:reduce){
  body.abx #robbieWidget .rb-map-tiles,body.abx #robbieWidget .rb-btn,body.abx #robbieWidget .rb-card{transition:none!important}
}
/* p17g: addresses in the answer text (link + map preview under the paragraph) */
body.abx #robbieWidget a.rb-addr{display:inline;color:var(--rb-blue)!important;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--rb-blue) 40%,transparent);cursor:pointer;overflow-wrap:anywhere}
body.abx #robbieWidget a.rb-addr svg{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:3px;stroke:currentColor}
body.abx #robbieWidget .rb-addr-map{margin:8px 0 14px;max-width:460px}
body.abx #robbieWidget .rb-addr-map .rb-map{min-height:0;aspect-ratio:16/9;width:100%}
@media print{ .rb-map,.rb-card-acts,.msg-actions,.rb-next,.rb-mq{display:none!important} }

/* ---------------------------------------------------------- countdown for longer answers */
body.abx #robbieWidget .robbie-thinking.rb-cd-on .robbie-thinking-bar{display:none}
body.abx #robbieWidget .rb-cd{display:flex;align-items:center;gap:12px;margin-top:2px;padding:8px 14px 8px 8px;border-radius:999px;background:#fff;border:1px solid var(--rb-line-2,#E3E6DF);box-shadow:0 1px 2px rgba(25,36,31,.06),0 6px 18px rgba(30,91,191,.08);animation:rbCdIn .35s cubic-bezier(.2,.9,.3,1.2) both}
body.abx #robbieWidget .rb-cd-ring{position:relative;flex:0 0 56px;width:56px;height:56px}
body.abx #robbieWidget .rb-cd-ring svg{position:absolute;inset:0;width:56px;height:56px;transform:rotate(-90deg);overflow:visible}
body.abx #robbieWidget .rb-cd-face{position:absolute;inset:7px;border-radius:50%;overflow:hidden;background:#EAF1FC}
body.abx #robbieWidget .rb-cd-face video{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;border-radius:0!important;margin:0!important}
body.abx #robbieWidget .rb-cd-track{fill:none;stroke:var(--rb-blue-soft,#EAF1FC);stroke-width:4.5}
body.abx #robbieWidget .rb-cd-arc{fill:none;stroke:var(--rb-blue,#1E5BBF);stroke-width:4.5;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .3s}
body.abx #robbieWidget .rb-cd-num{position:absolute;right:-6px;bottom:-3px;min-width:24px;height:22px;padding:0 6px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--rb-blue,#1E5BBF);color:#fff;box-shadow:0 0 0 2px #fff;font:800 12.5px/1 var(--abx-font,inherit);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
body.abx #robbieWidget .rb-cd-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
body.abx #robbieWidget .rb-cd-title{font:700 14px/1.25 var(--abx-font,inherit);color:var(--rb-ink,#19241F)}
body.abx #robbieWidget .rb-cd-sub{font:500 12.5px/1.25 var(--abx-font,inherit);color:var(--rb-ink-2,#46524C);font-variant-numeric:tabular-nums}
body.abx #robbieWidget .rb-cd-soon .rb-cd-arc{stroke:#7AB648}
body.abx #robbieWidget .rb-cd-soon .rb-cd-num{animation:rbCdTick 1s ease-in-out infinite}
body.abx #robbieWidget .rb-cd-over .rb-cd-arc{stroke:#F08C00;stroke-dasharray:10 9!important;stroke-dashoffset:0!important;transition:none}
body.abx #robbieWidget .rb-cd-over .rb-cd-ring svg{animation:rbCdSpin 2.4s linear infinite}
body.abx #robbieWidget .rb-cd-over .rb-cd-num{background:#F08C00}
body.abx #robbieWidget .rb-cd-soon .rb-cd-num{background:#5C940D}
body.abx #robbieWidget .rb-cd-over{border-color:#FFD8A8;background:#FFFBF5}
@keyframes rbCdIn{from{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes rbCdTick{0%,100%{transform:scale(1)}40%{transform:scale(1.22)}}
@keyframes rbCdSpin{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}
body.abx #robbieWidget .rb-cd-still,body.abx #robbieWidget .rb-cd-still *{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){ body.abx #robbieWidget .rb-cd,body.abx #robbieWidget .rb-cd *{animation:none!important;transition:none!important} }

/* ---------------------------------------------------------- v306: Robbie's waiting card — his face in the progress
   ring, the waiting line in his own speech bubble, a calm glassy card behind him */
body.abx #robbieWidget .msg.ai.msg-thinking{position:relative;overflow:hidden;isolation:isolate;padding:16px 18px 15px!important;border-radius:8px 24px 24px 24px!important;
  background:linear-gradient(150deg,#FFFFFF 0%,#F6F9FE 52%,#EDF3FC 100%)!important;border:1px solid #DAE4F5!important;
  box-shadow:0 1px 2px rgba(16,28,48,.05),0 16px 36px -18px rgba(30,91,191,.32)!important;width:min(520px,100%)}
body.abx #robbieWidget .msg.ai.msg-thinking:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(110% 90% at 0% 0%,rgba(122,182,72,.13),transparent 52%),radial-gradient(90% 90% at 100% 100%,rgba(30,91,191,.12),transparent 62%)}
body.abx #robbieWidget .msg.ai.msg-thinking:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);transform:translate3d(-100%,0,0);animation:rbThinkSheen 3.2s ease-in-out infinite}
@keyframes rbThinkSheen{0%{transform:translate3d(-100%,0,0)}60%,100%{transform:translate3d(100%,0,0)}}
body.abx #robbieWidget .robbie-thinking.rb-cd-on{gap:0!important;padding:0!important;align-items:stretch!important}
body.abx #robbieWidget .robbie-thinking.rb-cd-on>.robbie-thinking-dots{display:none!important}
body.abx #robbieWidget .msg-thinking .rb-cd{display:flex;align-items:flex-start;gap:14px;margin:0;padding:0;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;animation:rbCdIn .4s cubic-bezier(.22,1,.36,1) both}
body.abx #robbieWidget .msg-thinking .rb-cd-ring{flex:0 0 64px;width:64px;height:64px;margin-top:2px}
body.abx #robbieWidget .msg-thinking .rb-cd-ring svg{width:64px;height:64px}
body.abx #robbieWidget .msg-thinking .rb-cd-face{inset:7px;box-shadow:0 2px 8px rgba(30,91,191,.18)}
body.abx #robbieWidget .msg-thinking .rb-cd-num:empty{display:none}
body.abx #robbieWidget .msg-thinking .rb-cd-pre .rb-cd-ring svg{animation:rbCdSpin 2.6s linear infinite}
body.abx #robbieWidget .msg-thinking .rb-cd-pre .rb-cd-arc{stroke-dasharray:28 123!important;stroke-dashoffset:0!important;transition:none}
body.abx #robbieWidget .msg-thinking .rb-cd-txt{flex:1;gap:8px}
/* the speech bubble, tail pointing at Robbie */
body.abx #robbieWidget .msg-thinking .rb-say{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:11px 16px;border-radius:18px;background:#fff;border:1px solid #E1E8F4;
  box-shadow:0 1px 2px rgba(16,28,48,.05),0 8px 20px -12px rgba(16,28,48,.22)}
body.abx #robbieWidget .msg-thinking .rb-say:before{content:"";position:absolute;left:-7px;top:16px;width:14px;height:14px;background:#fff;border-left:1px solid #E1E8F4;border-bottom:1px solid #E1E8F4;transform:rotate(45deg);border-radius:0 0 0 3px}
body.abx #robbieWidget .msg-thinking .rb-say .robbie-thinking-text{position:relative;margin:0;min-height:0;font:600 15px/1.4 var(--abx-font,inherit)!important;letter-spacing:-.005em;color:var(--rb-ink,#19241F)!important;
  -webkit-text-fill-color:currentColor!important;background:none!important;font-style:normal!important;animation:none!important;transition:opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1)}
body.abx #robbieWidget .msg-thinking .rb-say .robbie-thinking-text.robbie-phrase-out{opacity:0;transform:translate3d(0,4px,0)}
body.abx #robbieWidget .msg-thinking .rb-say-dots{display:none;gap:4px}
body.abx #robbieWidget .msg-thinking .rb-say:not(:has(.robbie-thinking-text)) .rb-say-dots{display:inline-flex}
body.abx #robbieWidget .msg-thinking .rb-say-dots i{width:6px;height:6px;border-radius:50%;background:#9DB4DA;animation:rbSayDot 1.1s ease-in-out infinite}
body.abx #robbieWidget .msg-thinking .rb-say-dots i:nth-child(2){animation-delay:.15s}
body.abx #robbieWidget .msg-thinking .rb-say-dots i:nth-child(3){animation-delay:.3s}
@keyframes rbSayDot{0%,100%{transform:translate3d(0,0,0);opacity:.5}40%{transform:translate3d(0,-3px,0);opacity:1}}
body.abx #robbieWidget .msg-thinking .rb-cd-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-left:4px}
body.abx #robbieWidget .msg-thinking .rb-cd-title{font:700 13px/1.3 var(--abx-font,inherit);color:var(--rb-blue,#1E5BBF)}
body.abx #robbieWidget .msg-thinking .rb-cd-sub{font:500 12.5px/1.3 var(--abx-font,inherit);color:var(--rb-ink-3,#6B746E)}
body.abx #robbieWidget .msg-thinking .rb-cd-sub:before{content:"·";margin-right:8px;color:#B6C0CC}
body.abx #robbieWidget .msg-thinking .rb-cd-over{background:none!important}
@media (max-width:520px){
  body.abx #robbieWidget .msg-thinking .rb-cd-ring{flex-basis:54px;width:54px;height:54px}
  body.abx #robbieWidget .msg-thinking .rb-cd-ring svg{width:54px;height:54px}
  body.abx #robbieWidget .msg-thinking .rb-say .robbie-thinking-text{font-size:14.5px!important}
}
@media (prefers-reduced-motion:reduce){ body.abx #robbieWidget .msg.ai.msg-thinking:after,body.abx #robbieWidget .msg-thinking .rb-say-dots i{animation:none!important} }

/* ---------------------------------------------------------- v306: "Ask something new" is a slim strip, so the chat
   itself gets the room (the window is also taller and wider on desktop, see ab-ui-v306.css) */
body.abx #robbieWidget .quick-asks.rb-mq{gap:3px!important;margin:0 0 6px!important}
body.abx #robbieWidget .rb-mq-label{font-size:10.5px;letter-spacing:.12em}
body.abx #robbieWidget .rb-mq-toggle{width:24px!important;height:24px!important}
body.abx #robbieWidget .rb-mq-toggle svg{width:13px;height:13px}
body.abx #robbieWidget .rb-mq-view{padding:2px 0 3px}
body.abx #robbieWidget .rb-mq-set{gap:6px;padding-right:6px}
body.abx #robbieWidget .rb-mq-chip{min-height:30px!important;gap:6px;padding:0 11px 0 3px!important;font:550 13px/1 var(--abx-font,inherit)!important}
body.abx #robbieWidget .rb-mq-ic{width:23px;height:23px;flex-basis:23px}
body.abx #robbieWidget .rb-mq-ic svg,body.abx #robbieWidget .rb-mq-ic .rb-ic{width:13px;height:13px}
body.abx #robbieWidget .quick-asks.rb-mq{padding:0!important}
@media (min-width:961px){
  body.abx #robbieWidget .compose{padding:6px 16px 10px!important}
  body.abx #robbieWidget .rb-compose-note{margin-top:5px!important}
  body.abx #robbieWidget .rail-head{padding-top:12px!important;padding-bottom:10px!important}
}
/* phones held sideways: the conversation keeps the room (the suggestion strip and the footnote step aside) */
@media (max-width:960px) and (max-height:500px){
  body.abx #robbieWidget .quick-asks.rb-mq,body.abx #robbieWidget .rb-compose-note{display:none!important}
  body.abx #robbieWidget .rail-head{padding-top:6px!important;padding-bottom:6px!important}
}
/* touch screens: the slim suggestion chips and the collapse toggle stay comfortable to tap */
@media (pointer:coarse){
  body.abx #robbieWidget .rb-mq-chip{min-height:36px!important}
  body.abx #robbieWidget .rb-mq-toggle{width:32px!important;height:32px!important}
}

/* ------------------------------------- people the answer names (p17r, ab-robbie-ui.js peopleIn)
   Romik, 20 Oct 2026: show their image in the answers whenever we have it. Photos come from the site's own records
   (City Council, Board of Education, Superintendent, Chamber board, staff, ambassadors, BYP). A list item that starts
   with a person's name shows their photo in place of the bullet; everyone else named gets a photo chip under the
   answer that opens their page. */
body.abx #robbieWidget .rb-answer .rb-li.rb-li-person{align-items:flex-start}
body.abx #robbieWidget .rb-answer .rb-li-person>.rb-li-dot:not(.rb-li-n){display:none}
body.abx #robbieWidget .rb-answer .rb-li-person+.rb-li-person{margin-top:6px}
body.abx #robbieWidget .rb-answer .rb-pp-av{flex:0 0 auto;width:32px;height:32px;margin:-4px 2px 0 0;border-radius:50%;object-fit:cover;object-position:50% 18%;background:#E9EEE6;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--rb-line)}
body.abx #robbieWidget .rb-answer td.rb-td-person .rb-pp-av{width:28px;height:28px;margin:-4px 8px -2px 0;vertical-align:middle}
body.abx #robbieWidget .rb-people{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
body.abx #robbieWidget .rb-answer a.rb-person{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:56px;padding:6px 12px 6px 6px;border:1px solid var(--rb-line);border-radius:var(--rb-pill-r);
  background:#fff;color:var(--rb-ink);text-decoration:none;box-shadow:0 1px 2px rgba(25,36,31,.04);transition:background-color .2s ease,border-color .2s ease}
body.abx #robbieWidget .rb-answer a.rb-person:hover{background:var(--rb-blue-soft);border-color:var(--rb-blue-bd)}
body.abx #robbieWidget .rb-answer a.rb-person:focus-visible{outline:2px solid var(--rb-blue);outline-offset:2px}
body.abx #robbieWidget .rb-person-img{flex:0 0 auto;width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 18%;background:#E9EEE6}
body.abx #robbieWidget .rb-person-tx{display:flex;flex-direction:column;gap:2px;min-width:0}
body.abx #robbieWidget .rb-person-n{font:650 14.5px/1.2 var(--abx-font,inherit);color:var(--rb-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.abx #robbieWidget .rb-person-r{max-width:280px;font:500 12.5px/1.25 var(--abx-font,inherit);color:var(--rb-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.abx #robbieWidget .rb-person-go{flex:0 0 auto;margin-left:2px;color:var(--rb-ink-3)}
@container rbanswer (max-width:560px){ body.abx #robbieWidget .rb-answer a.rb-person{flex:1 1 100%} body.abx #robbieWidget .rb-person-r{max-width:none} body.abx #robbieWidget .rb-person-go{margin-left:auto} }
@media (prefers-reduced-motion:reduce){ body.abx #robbieWidget .rb-answer a.rb-person{transition:none} }
/* p17s (Romik, 20 Oct: "when you hover over the image it gets bigger"): on a screen with a mouse, a person's photo
   grows to about 88 px while the pointer is on it (transform only, on the compositor); 88 px keeps the 168 x 192 px
   Chamber headshots sharp on a retina screen. It grows towards the empty space on its left, so the name beside it
   stays readable; in a table (which scrolls sideways and would clip it) it grows to the right, to twice its size. The
   shadow appears with it (no animated shadow). */
@media (hover:hover) and (pointer:fine){
  body.abx #robbieWidget .rb-answer .rb-pp-av,body.abx #robbieWidget .rb-person-img{position:relative;transform-origin:100% 50%;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
  body.abx #robbieWidget .rb-answer td.rb-td-person .rb-pp-av{transform-origin:0 50%}
  body.abx #robbieWidget .rb-answer .rb-pp-av:hover{z-index:5;transform:scale(2.75);box-shadow:0 0 0 1px #fff,0 0 0 1.4px var(--rb-line),0 3px 8px rgba(25,36,31,.22)}
  body.abx #robbieWidget .rb-answer td.rb-td-person .rb-pp-av:hover{transform:scale(2)}
  body.abx #robbieWidget .rb-person-img:hover{z-index:5;transform:scale(2);box-shadow:0 0 0 1.5px #fff,0 4px 10px rgba(25,36,31,.22)}
}
@media (prefers-reduced-motion:reduce){ body.abx #robbieWidget .rb-answer .rb-pp-av,body.abx #robbieWidget .rb-person-img{transition:none} }

/* ------------------------------------------------ p18l: hybrid answers (Romik, 23 Oct 2026) */
@keyframes rbRise{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}
body.abx #robbieWidget .rb-answer.rb-stagger>*{animation:rbRise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--rb-i,0)*90ms)}
body.abx #robbieWidget .rb-answer .rb-lead{display:block;font-size:1.06em;line-height:1.4;font-weight:720;margin:0 0 6px}
body.abx #robbieWidget .rb-answer>.rb-prose{background:var(--rb-bubble);border-radius:8px 20px 20px 20px;padding:12px 18px!important;margin:2px 0}
/* numbered steps: blue circles on a line */
body.abx #robbieWidget .rb-answer .rb-ol{gap:0!important;margin:8px 0 10px}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li{position:relative;align-items:flex-start;gap:12px;padding:0 0 16px}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:last-child{padding-bottom:0}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:not(:last-child):before{content:"";position:absolute;left:14px;top:32px;bottom:2px;width:2px;border-radius:2px;background:var(--rb-blue-bd)}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li>.rb-li-n{flex:0 0 30px;width:30px;height:30px;min-width:0;border-radius:50%;background:var(--rb-blue);color:#fff;font-size:14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li>.rb-li-n+span{padding-top:2px;line-height:1.55}
body.abx #robbieWidget .rb-answer .rb-step-name{display:block;font-size:1em;font-weight:720;margin-bottom:2px}
/* facts card */
body.abx #robbieWidget .rb-factcard{border:1px solid var(--rb-line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(25,36,31,.04),0 10px 28px rgba(25,36,31,.07);margin:4px 0}
body.abx #robbieWidget .rb-fc-head{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#F7F9FC;border-bottom:1px solid var(--rb-line)}
body.abx #robbieWidget .rb-fc-eye{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rb-ink-2)}
body.abx #robbieWidget .rb-fc-t{font-size:16.5px;font-weight:720;color:var(--rb-ink)}
body.abx #robbieWidget .rb-fc-row{display:grid;grid-template-columns:22px minmax(86px,32%) minmax(0,1fr);gap:10px;align-items:start;padding:11px 16px;border-bottom:1px solid var(--rb-line-2);font-size:15px;line-height:1.5;color:var(--rb-ink)}
body.abx #robbieWidget .rb-fc-row:last-child{border-bottom:0}
body.abx #robbieWidget .rb-fc-row>.rb-ic{margin-top:1px}
body.abx #robbieWidget .rb-fc-ok>.rb-ic{color:#15803D}
body.abx #robbieWidget .rb-fc-warn>.rb-ic{color:#B45309}
body.abx #robbieWidget .rb-fc-no>.rb-ic{color:#B91C1C}
body.abx #robbieWidget .rb-fc-info>.rb-ic{color:var(--rb-blue)}
body.abx #robbieWidget .rb-fc-l{font-weight:700}
body.abx #robbieWidget .rb-fc-foot{display:flex;align-items:center;gap:4px;padding:10px 16px;border-top:1px solid var(--rb-line);font-size:13.5px;font-weight:650;color:var(--rb-blue)!important;text-decoration:none!important}
@container (max-width:380px){body.abx #robbieWidget .rb-fc-row{grid-template-columns:22px minmax(0,1fr);gap:2px 10px}body.abx #robbieWidget .rb-fc-v{grid-column:2}}
/* tip and free-help boxes */
body.abx #robbieWidget .rb-tip{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:#FFF7E8;border:1px solid #F3DDB0;margin:4px 0}
body.abx #robbieWidget .rb-tip>.rb-ic{color:#B45309;margin-top:1px}
body.abx #robbieWidget .rb-tip>div{display:flex;flex-direction:column;gap:3px;min-width:0}
body.abx #robbieWidget .rb-tip-t{font-size:15px;font-weight:800;color:#8A4B08}
body.abx #robbieWidget .rb-tip-b{font-size:15px;line-height:1.55;color:var(--rb-ink)}
body.abx #robbieWidget .rb-tip-help{background:#F7F9FC;border-color:var(--rb-line)}
body.abx #robbieWidget .rb-tip-help>.rb-ic{color:var(--rb-blue)}
body.abx #robbieWidget .rb-tip-help .rb-tip-t{color:var(--rb-ink)}
/* business cards: map, logo, live status, colored buttons */
body.abx #robbieWidget .rb-card.rb-place2{display:block!important;position:relative;padding:0!important;overflow:hidden;border-radius:22px!important;box-shadow:0 1px 2px rgba(25,36,31,.04),0 10px 28px rgba(25,36,31,.07)!important}
body.abx #robbieWidget .rb-card.rb-place2:hover{box-shadow:0 1px 2px rgba(25,36,31,.05),0 14px 34px rgba(25,36,31,.10)!important}
body.abx #robbieWidget .rb-card.rb-place2.rb-sel{border-color:var(--rb-blue)!important;box-shadow:0 0 0 3px rgba(32,92,197,.18),0 10px 28px rgba(25,36,31,.08)!important}
body.abx #robbieWidget .rb-hero,body.abx #robbieWidget .rb-groupmap{position:relative;overflow:hidden;background:#E9EEE6}
body.abx #robbieWidget .rb-hero{height:132px}
body.abx #robbieWidget .rb-groupmap{height:210px;border:1px solid var(--rb-line);border-radius:22px;margin:4px 0;box-shadow:0 1px 2px rgba(25,36,31,.04),0 10px 28px rgba(25,36,31,.07)}
body.abx #robbieWidget .rb-tiles{position:absolute;left:50%;top:50%;pointer-events:none}
body.abx #robbieWidget .rb-tiles img{position:absolute;width:256px!important;height:256px!important;max-width:none!important;border:0!important;border-radius:0!important;filter:saturate(.8) brightness(1.04)}
body.abx #robbieWidget .rb-pin{position:absolute;width:30px;height:38px;margin:0;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0!important;transform:translate(-50%,-100%);transform-origin:50% 100%;transition:transform .2s}
body.abx #robbieWidget .rb-pin svg{display:block;width:100%;height:100%;fill:var(--rb-blue);stroke:#fff;stroke-width:2.5;overflow:visible;filter:drop-shadow(0 3px 4px rgba(25,36,31,.28))}
body.abx #robbieWidget .rb-pin-1:after{content:"";position:absolute;left:50%;top:9px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#fff}
body.abx #robbieWidget .rb-pin-n{cursor:pointer}
body.abx #robbieWidget .rb-pin-n span{position:absolute;left:0;right:0;top:7px;text-align:center;font:800 13px/1 var(--abx-font,inherit);color:#fff}
body.abx #robbieWidget .rb-pin-n.rb-sel{transform:translate(-50%,-100%) scale(1.2);z-index:2}
body.abx #robbieWidget .rb-pin-n.rb-sel svg{fill:var(--rb-ink)}
body.abx #robbieWidget .rb-pin-n:focus-visible{outline:2px solid var(--rb-blue);outline-offset:2px;border-radius:50%}
body.abx #robbieWidget .rb-osm{position:absolute;right:8px;bottom:6px;font-size:10px;line-height:1.3;color:#59645D;background:rgba(255,255,255,.88);padding:1px 6px;border-radius:5px}
body.abx #robbieWidget .rb-osm a{color:inherit!important;text-decoration:none}
body.abx #robbieWidget .rb-hero-open{position:absolute;right:10px;top:10px;display:inline-flex;align-items:center;gap:6px;min-height:34px!important;padding:0 12px!important;border-radius:999px!important;border:1px solid var(--rb-line)!important;background:rgba(255,255,255,.94)!important;color:var(--rb-ink)!important;font:650 13px/1 var(--abx-font,inherit);cursor:pointer}
body.abx #robbieWidget .rb-pc-body{display:flex;flex-direction:column;gap:8px;padding:0 18px 16px}
body.abx #robbieWidget .rb-place2:not(.rb-has-hero) .rb-pc-body,body.abx #robbieWidget .rb-place2.rb-numbered .rb-pc-body{padding-top:16px}
body.abx #robbieWidget .rb-place2.rb-numbered .rb-hero{display:none}
body.abx #robbieWidget .rb-pc-top{display:flex;align-items:flex-end;gap:12px;margin-top:-30px;position:relative;z-index:1}
body.abx #robbieWidget .rb-place2:not(.rb-has-hero) .rb-pc-top,body.abx #robbieWidget .rb-place2.rb-numbered .rb-pc-top{margin-top:0;align-items:center}
body.abx #robbieWidget .rb-logo{position:relative;flex:0 0 auto;width:92px;height:60px;box-sizing:border-box;border-radius:16px;background:#fff;border:1px solid var(--rb-line);box-shadow:0 4px 12px rgba(25,36,31,.12);display:flex;align-items:center;justify-content:center;padding:7px 9px}
body.abx #robbieWidget .rb-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:0!important}
body.abx #robbieWidget .rb-logo b{display:none}
body.abx #robbieWidget .rb-logo.rb-logo-none{width:60px;background:var(--rb-blue-soft);border:3px solid #fff}
body.abx #robbieWidget .rb-logo.rb-logo-none b{display:block;font:800 19px/1 var(--abx-font,inherit);letter-spacing:-.02em;color:var(--rb-blue)}
body.abx #robbieWidget .rb-num{position:absolute;top:-9px;left:-9px;width:26px;height:26px;box-sizing:border-box;border-radius:50%;background:var(--rb-blue);border:2px solid #fff;color:#fff;font:800 12.5px/22px var(--abx-font,inherit);text-align:center}
body.abx #robbieWidget .rb-place2.rb-sel .rb-num{background:var(--rb-ink)}
body.abx #robbieWidget .rb-st{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding-bottom:4px;font-size:13.5px;line-height:1.35;color:var(--rb-ink-2)}
body.abx #robbieWidget .rb-st i{width:8px;height:8px;border-radius:50%;flex:0 0 auto}
body.abx #robbieWidget .rb-st b{font-weight:700;color:var(--rb-ink)}
body.abx #robbieWidget .rb-st-open i{background:#15803D}body.abx #robbieWidget .rb-st-open b{color:#15803D}
body.abx #robbieWidget .rb-st-soon i{background:#B45309}body.abx #robbieWidget .rb-st-soon b{color:#B45309}
body.abx #robbieWidget .rb-st-opening i{background:var(--rb-blue)}body.abx #robbieWidget .rb-st-opening b{color:var(--rb-blue)}
body.abx #robbieWidget .rb-st-closed i{box-sizing:border-box;border:2px solid var(--rb-ink-2)}
body.abx #robbieWidget .rb-place2 .rb-card-title{margin:2px 0 0!important;font-size:19px!important}
body.abx #robbieWidget .rb-pc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;font-size:13.5px;color:var(--rb-ink-2)}
body.abx #robbieWidget .rb-pc-meta b{color:var(--rb-ink);font-weight:700}
body.abx #robbieWidget .rb-pc-meta .rb-star{color:#E6A100;fill:#E6A100;margin-right:3px}
body.abx #robbieWidget .rb-spons{font-weight:700;color:#8A4B08}
body.abx #robbieWidget .rb-pc-addr{display:inline-flex;align-items:flex-start;gap:6px;font-size:13.5px;line-height:1.4;color:var(--rb-ink-2)!important;text-decoration:none!important}
body.abx #robbieWidget .rb-pc-addr .rb-ic{margin-top:1px}
body.abx #robbieWidget .rb-place2 .rb-card-desc{font-size:14.5px!important;color:var(--rb-ink)!important}
body.abx #robbieWidget .rb-pc-acts{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
body.abx #robbieWidget .rb-lbtn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px!important;padding:0 13px 0 7px!important;box-sizing:border-box;border-radius:999px!important;border:1px solid;font:700 14px/1.1 var(--abx-font,inherit);text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:filter .15s}
body.abx #robbieWidget .rb-lbtn:hover{filter:brightness(.97)}
body.abx #robbieWidget .rb-lbtn:focus-visible{outline:2px solid var(--rb-blue);outline-offset:2px}
body.abx #robbieWidget .rb-lbtn>i{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff}
body.abx #robbieWidget .rb-lbtn>i .rb-ic{stroke-width:2.6}
body.abx #robbieWidget .rb-lbtn-call{background:#EEF4E6!important;border-color:#D3E2C3!important;color:#315D2B!important}
body.abx #robbieWidget .rb-lbtn-call>i{background:#2E9E4F;box-shadow:0 0 0 3px rgba(46,158,79,.16)}
body.abx #robbieWidget .rb-lbtn-dir{background:#EDF3FB!important;border-color:#CBDBF1!important;color:#1E4F96!important}
body.abx #robbieWidget .rb-lbtn-dir>i{background:#1F5BB0;box-shadow:0 0 0 3px rgba(31,91,176,.16)}
body.abx #robbieWidget .rb-lbtn-web{background:#F2EFFC!important;border-color:#DCD4F6!important;color:#4B3699!important}
body.abx #robbieWidget .rb-lbtn-web>i{background:#6B4FD0;box-shadow:0 0 0 3px rgba(107,79,208,.16)}
body.abx #robbieWidget .rb-lbtn-msg{background:#FFF3E3!important;border-color:#F3D7B1!important;color:#8A4B08!important}
body.abx #robbieWidget .rb-lbtn-msg>i{background:#C47A06;box-shadow:0 0 0 3px rgba(196,122,6,.16)}
body.abx #robbieWidget .rb-place2 .rb-card-src{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px}
body.abx #robbieWidget .rb-pc-more{display:inline-flex!important;align-items:center;gap:2px;min-height:32px!important;padding:0 2px!important;border:0!important;background:none!important;color:var(--rb-blue)!important;font:650 12.5px/1 var(--abx-font,inherit);cursor:pointer}
/* follow-up questions as rows */
body.abx #robbieWidget .rb-answer .rb-next .rb-next-chips{flex-direction:column;gap:0;flex:1 1 100%}
body.abx #robbieWidget .rb-answer .rb-next .rb-followup{width:100%!important;justify-content:flex-start!important;gap:10px;min-height:46px!important;padding:0 6px!important;border:0!important;border-bottom:1px solid var(--rb-line-2)!important;border-radius:0!important;background:transparent!important;color:var(--rb-blue)!important;font-weight:650!important;text-align:left}
body.abx #robbieWidget .rb-answer .rb-next .rb-followup:last-child{border-bottom:0!important}
body.abx #robbieWidget .rb-answer .rb-next .rb-followup:hover{background:var(--rb-blue-soft)!important}
@media (prefers-reduced-motion:reduce){body.abx #robbieWidget .rb-answer.rb-stagger>*{animation:none}body.abx #robbieWidget .rb-pin,body.abx #robbieWidget .rb-lbtn{transition:none}}
@media print{.rb-hero,.rb-groupmap,.rb-pc-acts{display:none!important}}
/* p18l: three buttons fit on one row on phones */
@container (max-width:420px){body.abx #robbieWidget .rb-lbtn{gap:5px;padding:0 10px 0 5px!important;font-size:13.5px}body.abx #robbieWidget .rb-lbtn>i{width:22px;height:22px}body.abx #robbieWidget .rb-pc-acts{gap:6px}}
@container (max-width:335px){body.abx #robbieWidget .rb-lbtn{gap:4px;padding:0 8px 0 4px!important;font-size:13px}}
/* p18n: answers shown piece by piece; three quiet dots under the last piece while Robbie is still writing */
body.abx #robbieWidget .rb-writing{display:flex;gap:5px;align-items:center;height:22px;padding:6px 4px 2px}
body.abx #robbieWidget .rb-writing .robbie-dot{width:6px;height:6px;border-radius:50%;background:var(--rb-ink-3,#66716A);opacity:.3;animation:rbWrite 1.1s ease-in-out infinite}
body.abx #robbieWidget .rb-writing .robbie-dot:nth-child(2){animation-delay:.15s}
body.abx #robbieWidget .rb-writing .robbie-dot:nth-child(3){animation-delay:.3s}
@keyframes rbWrite{0%,100%{opacity:.25;transform:none}40%{opacity:.85;transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){body.abx #robbieWidget .rb-writing .robbie-dot{animation:none;opacity:.5}}
@media print{body.abx #robbieWidget .rb-writing{display:none}}
/* p18n (Romik, 23 Oct 09:11 PT: "no pinch effect, so the frame doesn't get disorganized"): pinch and double tap do not
   zoom inside the Robbie panel; scrolling and the swipeable suggestion row work as before (index.html adds the iOS part) */
#robbieWidget,body.abx #robbieWidget{touch-action:pan-x pan-y}
/* p18o: one "Keep exploring" list under an answer (directory search, pages, questions; at most 3 rows, hairlines) */
body.abx #robbieWidget .rb-explore{margin:18px 0 4px;padding:0}
body.abx #robbieWidget .rb-explore .rb-row-label{display:block;min-width:0;margin:0 0 6px;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--rb-ink-3)}
body.abx #robbieWidget .rb-xlist{display:flex;flex-direction:column;border-top:1px solid var(--rb-line-2)}
body.abx #robbieWidget .rb-xrow,body.abx #robbieWidget .rb-answer .rb-xrow.robbie-goto{display:flex!important;align-items:center;gap:12px!important;width:100%!important;min-height:54px!important;margin:0!important;padding:9px 6px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--rb-line-2)!important;border-radius:0!important;box-shadow:none!important;color:var(--rb-ink)!important;font:inherit!important;text-align:left;text-decoration:none!important;cursor:pointer;transition:background-color .15s ease}
body.abx #robbieWidget .rb-xrow:hover{background:var(--rb-blue-soft)!important}
body.abx #robbieWidget .rb-xrow:focus-visible{outline:3px solid var(--abx-focus,#205CC5)!important;outline-offset:-3px}
body.abx #robbieWidget .rb-xrow-ic{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--rb-blue-soft);color:var(--rb-blue)}
body.abx #robbieWidget .rb-xrow-dir .rb-xrow-ic{background:var(--rb-blue);color:#fff}
body.abx #robbieWidget .rb-xrow-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
body.abx #robbieWidget .rb-xrow-h{font-size:15.5px;line-height:1.35;font-weight:650;color:var(--rb-blue)}
body.abx #robbieWidget .rb-xrow-s{font-size:13px;line-height:1.35;color:var(--rb-ink-3)}
body.abx #robbieWidget .rb-xrow-go{flex:0 0 auto;color:var(--rb-ink-3);transition:transform .15s ease}
body.abx #robbieWidget .rb-xrow:hover .rb-xrow-go{transform:translateX(2px)}
@media (prefers-reduced-motion:reduce){body.abx #robbieWidget .rb-xrow,body.abx #robbieWidget .rb-xrow-go{transition:none}}
@media print{body.abx #robbieWidget .rb-explore{display:none}}
/* p18o: while an answer is still arriving piece by piece, its page buttons wait; they join the Keep exploring list at the end */
body.abx #robbieWidget .msg.ai:has(> .rb-writing) > .rb-pagelinks{display:none}
/* p18o (Romik, 23 Oct 12:17 PT: "Elevate those section too", the Copy / Save PDF / Share / thumbs row wrapping on a phone):
   the three actions in one rounded group that fills the row; feedback (thumbs, "Know a better answer?") on its own row;
   one line on a wide panel. */
body.abx #robbieWidget .msg-actions{flex-direction:column;align-items:stretch!important;gap:12px!important;margin:18px 0 0!important;padding:12px!important;border:1px solid var(--rb-line-2)!important;border-radius:16px;background:#F8FAF7!important}
/* p18z23 (Romik, 30 Oct 2026: "elevate and organize this section"): the toolbar sits in one soft panel under the answer */
body.abx #robbieWidget .msg-actions .mact-group{display:flex;align-items:stretch;width:100%;overflow:hidden;border:1px solid var(--rb-line);border-radius:var(--rb-ctl-r);background:#fff;box-shadow:0 1px 2px rgba(25,36,31,.05)}
body.abx #robbieWidget .msg-actions .mact-group .mact{flex:1 1 0;min-width:0;min-height:46px!important;gap:7px!important;padding:0 10px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;
  color:var(--rb-ink)!important;font-size:14.5px!important;font-weight:650!important;white-space:nowrap}
body.abx #robbieWidget .msg-actions .mact-group .mact+.mact{border-left:1px solid var(--rb-line)!important}
body.abx #robbieWidget .msg-actions .mact-group .mact:hover{background:var(--rb-bubble)!important}
body.abx #robbieWidget .msg-actions .mact-group .mact .rb-ic{color:var(--rb-blue)}
body.abx #robbieWidget .msg-actions .mact-group .mact.mact-ok{background:var(--abx-soft-green,#EEF4E6)!important;color:var(--abx-green-ink,#3F6B16)!important}
body.abx #robbieWidget .msg-actions .mact-group .mact.mact-ok .rb-ic{color:var(--abx-green-ink,#3F6B16)}
body.abx #robbieWidget .mact-fb{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
body.abx #robbieWidget .mact-q{display:none;font-size:14px;font-weight:600;color:var(--rb-ink-3);margin-right:2px}
body.abx #robbieWidget .msg-actions .mact-fb .mact-up,body.abx #robbieWidget .msg-actions .mact-fb .mact-down{width:42px!important;height:42px;min-height:42px!important;padding:0!important;border-radius:50%!important;border:1px solid var(--rb-line)!important;background:#fff!important;color:var(--rb-ink-2)!important}
body.abx #robbieWidget .msg-actions .mact-fb .mact-up:hover{background:#EEF6E4!important;border-color:#B5D88E!important}
body.abx #robbieWidget .msg-actions .mact-fb .mact-down:hover{background:#FDF0EE!important;border-color:#F0C4BD!important}
body.abx #robbieWidget .msg-actions .mact-fb .mact-up.sel{background:#E3F2D1!important;border-color:#B5D88E!important;color:#2F5A10!important}
body.abx #robbieWidget .msg-actions .mact-fb .mact-down.sel{background:#FDECEA!important;border-color:#F0C4BD!important;color:#9A2E22!important}
body.abx #robbieWidget .msg-actions .mact-fb .mact.sel .rb-ic{color:inherit}
body.abx #robbieWidget .mact-fb .abt-suggest{margin-left:auto!important}
@container (min-width:400px){ body.abx #robbieWidget .mact-q{display:inline} }
@container (min-width:600px){
  body.abx #robbieWidget .msg-actions{flex-direction:row;align-items:center!important;flex-wrap:wrap}
  body.abx #robbieWidget .msg-actions .mact-group{width:auto;flex:0 0 auto}
  body.abx #robbieWidget .msg-actions .mact-group .mact{flex:0 0 auto;padding:0 16px!important}
  body.abx #robbieWidget .mact-fb{margin-left:auto}
  body.abx #robbieWidget .mact-fb .abt-suggest{margin-left:4px!important}
}
/* p18t (Romik, 23 Oct 2026, chose Option A): organization cards. One card per organization Robbie names, with its icon,
   name, address and phone, what it offers, and Call, Directions and Website in one rounded group (the answer toolbar's
   look). Markup: ab-robbie-ui.js orgsHTML. */
body.abx #robbieWidget .rb-orgs{display:grid;gap:10px;margin:6px 0}
body.abx #robbieWidget .rb-org{container-type:inline-size;padding:14px 14px 12px;background:#fff;border:1px solid var(--rb-line);border-radius:20px;box-shadow:0 1px 2px rgba(25,36,31,.04),0 8px 22px rgba(25,36,31,.06)}
body.abx #robbieWidget .rb-org-h{display:flex;align-items:center;gap:12px}
body.abx #robbieWidget .rb-org-ic{flex:0 0 40px;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center}
body.abx #robbieWidget .rb-org-teal{background:#E2F5F1;color:#0F766E}
body.abx #robbieWidget .rb-org-amber{background:#FFF6D1;color:#9A6700}
body.abx #robbieWidget .rb-org-purple{background:#EEEDFD;color:#4F46E5}
body.abx #robbieWidget .rb-org-blue{background:#E8F0FE;color:#205CC5}
body.abx #robbieWidget .rb-org-red{background:#FCE9E7;color:#B42318}
body.abx #robbieWidget .rb-org-green{background:#E9F5E1;color:#3E7A1E}
body.abx #robbieWidget .rb-org-orange{background:#FFEDE3;color:#C2410C}
body.abx #robbieWidget .rb-org-brown{background:#F6ECE1;color:#7A4E1D}
body.abx #robbieWidget .rb-org-hd{min-width:0}
body.abx #robbieWidget .rb-org-n{margin:0;font:750 17px/1.25 var(--abx-font,inherit);letter-spacing:-.01em;color:var(--rb-ink,#19241F)}
body.abx #robbieWidget .rb-org-where{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;margin-top:3px;font:500 13.5px/1.35 var(--abx-font,inherit);color:var(--rb-ink-2,#59645D)}
body.abx #robbieWidget .rb-org-addr{display:inline-flex;align-items:center;gap:4px}
body.abx #robbieWidget .rb-org-addr .rb-ic{flex:0 0 auto}
body.abx #robbieWidget .rb-org-d{margin:10px 0 12px;font:400 15.5px/1.55 var(--abx-font,inherit);color:var(--rb-ink,#19241F)}
body.abx #robbieWidget .rb-org-h+.rb-org-acts{margin-top:12px}
body.abx #robbieWidget .rb-org-acts{display:flex;overflow:hidden;background:#fff;border:1px solid var(--rb-line);border-radius:13px}
body.abx #robbieWidget .rb-org-a{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:44px;padding:0 8px;font:650 14px/1 var(--abx-font,inherit);color:var(--rb-blue)!important;text-decoration:none!important;white-space:nowrap;transition:background-color .15s ease}
body.abx #robbieWidget .rb-org-a+.rb-org-a{border-left:1px solid var(--rb-line)}
body.abx #robbieWidget .rb-org-a:hover{background:#F2F6FD}
body.abx #robbieWidget .rb-org-a:focus-visible{outline:3px solid var(--rb-blue);outline-offset:-3px}
@container (max-width:340px){ body.abx #robbieWidget .rb-org-a span{font-size:13px} body.abx #robbieWidget .rb-org-a{gap:4px;padding:0 4px} }
/* p18t: each card is its own size container; the three actions share the row by what each label needs (flex auto), so a longer label such as "Directions" or "Cómo llegar" never runs into the next button; on a card 250px or narrower the icons step aside */
@container (max-width:300px){ body.abx #robbieWidget .rb-org{padding:12px 12px 10px} body.abx #robbieWidget .rb-org-a{padding:0 4px} }
@container (max-width:250px){ body.abx #robbieWidget .rb-org-a svg{display:none} }
@media (prefers-reduced-motion:reduce){ body.abx #robbieWidget .rb-org-a{transition:none} }
/* p18z (Romik, 25 Oct 2026, 14:46 PT): under Robbie's greeting, two picture buttons side by side, Robbie's Story and
   What is Ask Burbank?: a 16:9 picture with a round play button, the title and the length below. Pressed, the video
   plays just below them in the chat (ab-videos-v306.js). Rounded rectangles, no pill shapes. */
#robbieWidget .rb-vbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 4px;max-width:480px}
/* p18z9: one button left (the story now comes only when asked about Robbie), kept at the size it had beside the other */
#robbieWidget .rb-vbtns.is-one{grid-template-columns:minmax(0,1fr);max-width:236px}
#robbieWidget .rb-vbtn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;min-width:0;cursor:pointer;background:#fff;
  border:1px solid rgba(25,36,31,.10);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(25,36,31,.05),0 6px 16px rgba(25,36,31,.07);
  transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s,border-color .2s}
/* p18z8 (Romik, 26 Oct 08:11 PT: "can we fix the padding issues and the white space"): index.html gives every button in
   Robbie's window the 30px radius, which on these small cards crowded the title against a deep curve; the cards keep
   a card radius instead. The text block fills the card and keeps the length at its foot, so when one title wraps
   (phones: "What is Ask Burbank?") the other card's length lines up with it instead of leaving a gap below. */
#robbieWidget .rb-vbtn{border-radius:16px!important}
#robbieWidget .rb-vbtn:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(25,36,31,.06),0 10px 22px rgba(25,36,31,.10)}
#robbieWidget .rb-vbtn:focus-visible{outline:3px solid #205CC5;outline-offset:2px}
#robbieWidget .rb-vbtn.is-on{border-color:#205CC5}
#robbieWidget .rb-vbtn-pic{position:relative;display:block;aspect-ratio:16/9;background:#0E1A1F;overflow:hidden}
#robbieWidget .rb-vbtn-pic img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transition:transform .6s cubic-bezier(.22,1,.36,1)}
#robbieWidget .rb-vbtn:hover .rb-vbtn-pic img{transform:scale(1.04)}
#robbieWidget .rb-vbtn-play{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:#fff;
  display:grid;place-items:center;color:#205CC5;box-shadow:0 6px 16px rgba(0,0,0,.25)}
#robbieWidget .rb-vbtn-play svg{width:16px;height:16px;margin-left:3px}
#robbieWidget .rb-vbtn-tx{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between;gap:4px;padding:10px 12px 11px}
#robbieWidget .rb-vbtn-t{font-weight:800;font-size:13.5px;line-height:1.25;color:#19241F}
#robbieWidget .rb-vbtn-d{font-weight:600;font-size:12px;color:#59645D;font-variant-numeric:tabular-nums}
#robbieWidget .rb-greet-player{margin:10px 0 2px}
@media (prefers-reduced-motion:reduce){#robbieWidget .rb-vbtn,#robbieWidget .rb-vbtn-pic img{transition:none}#robbieWidget .rb-vbtn:hover{transform:none}#robbieWidget .rb-vbtn:hover .rb-vbtn-pic img{transform:none}}
@media print{#robbieWidget .rb-vbtns,#robbieWidget .rb-greet-player{display:none!important}}
/* p18z8: resizing Robbie's window on desktop (ab-robbie-ui.js): thin edges and two corners inside the window, a grip in the corner */
.rb-size{display:none}
@media (min-width:961px){body.abx #robbieWidget .rb-size{display:block;position:absolute;z-index:30;touch-action:none}
body.abx #robbieWidget .rb-size-l,body.abx #robbieWidget .rb-size-r{top:24px;bottom:24px;width:8px;cursor:ew-resize}body.abx #robbieWidget .rb-size-l{left:0}body.abx #robbieWidget .rb-size-r{right:0}
body.abx #robbieWidget .rb-size-b{left:24px;right:24px;bottom:0;height:8px;cursor:ns-resize}
body.abx #robbieWidget .rb-size-bl,body.abx #robbieWidget .rb-size-br{bottom:0;width:26px;height:26px}body.abx #robbieWidget .rb-size-bl{left:0;cursor:nesw-resize}body.abx #robbieWidget .rb-size-br{right:0;cursor:nwse-resize}
body.abx #robbieWidget .rb-size-br:after{content:"";position:absolute;right:10px;bottom:10px;width:9px;height:9px;border-right:2px solid #A9B2AC;border-bottom:2px solid #A9B2AC;border-bottom-right-radius:3px;opacity:.7}
body.abx #robbieWidget .rb-size-br:hover:after,body.abx #robbieWidget .rb-size-br:focus-visible:after{opacity:1;border-color:#205CC5}
body.abx #robbieWidget .rb-size:focus-visible{outline:2px solid #205CC5;outline-offset:-2px}
body.abx #robbieWidget.is-sizing{transition:none!important;user-select:none}}

/* p18z10 (Romik, 26 Oct 10:01 PT: "give these buttons the elevate treatment to match the site and labels"): Robbie's
   header buttons look like the header language button: white, a soft lift, the icon in a blue tinted circle and a
   label. Desktop: a row of buttons; phones: the circle with the label under it, like the tab bar. */
body.abx #robbieWidget .rail-head{gap:12px!important}
body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn{box-sizing:border-box;width:auto!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0 0 0 2px!important;padding:0 13px 0 4px!important;
  border-radius:999px!important;border:1px solid var(--abx-line,#E3E6DF)!important;background:#fff!important;color:var(--abx-ink,#19241F)!important;
  box-shadow:0 1px 2px rgba(16,28,48,.06),0 6px 16px -10px rgba(16,28,48,.28)!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
  font:700 13.5px/1 var(--abx-font,Inter,system-ui,sans-serif)!important;letter-spacing:.01em;white-space:nowrap;cursor:pointer;flex:0 0 auto;
  transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease,background-color .2s ease}
body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn[hidden]{display:none!important}
body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn:hover{background:#fff!important;color:var(--abx-ink,#19241F)!important;border-color:#C9D6EA!important;box-shadow:0 2px 4px rgba(16,28,48,.08),0 12px 24px -12px rgba(32,92,197,.35)!important;transform:translateY(-1px)}
body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn:active{transform:translateY(0)}
body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn:focus-visible{outline:3px solid #205CC5;outline-offset:2px}
body.abx #robbieWidget .rb-hbtn-ic{box-sizing:border-box;width:30px;height:30px;border-radius:50%;background:#EAF1FC;color:#205CC5;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background-color .2s ease,color .2s ease}
body.abx #robbieWidget .rb-hbtn-ic svg{width:15px;height:15px;display:block}
body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn.rb-hbtn-ico{width:40px!important;padding:0!important}
body.abx #robbieWidget .rail-head .robbie-close.rb-speak.on{border-color:#9DB8E6!important}
body.abx #robbieWidget .rb-speak.on .rb-hbtn-ic{background:#205CC5;color:#fff}
body.abx #robbieWidget .rb-ic-restore,body.abx #robbieWidget.is-max .rb-ic-max{display:none!important}
body.abx #robbieWidget.is-max .rb-ic-restore{display:block!important}
body.abx #robbieWidget .rail-head>div:not(.ai-orb){min-width:0}
body.abx #robbieWidget .rail-sub{line-height:1.3!important}
/* p18z23 (Romik, 30 Oct 2026, a screenshot of the window dragged narrow, "Robbie" one letter per line and the chat gone:
   "I should not be able to do this"): the header follows the window's own width, not only the screen's. The title and
   its line never wrap (they end in "…"); a narrow window shows the header buttons as icons, and below that leaves out
   minimize and maximize, so the chat always keeps its room. */
body.abx #robbieWidget.robbie-widget{container-type:inline-size;container-name:rbwin}
body.abx #robbieWidget .rail-head>div:not(.ai-orb){flex:1 1 auto;min-width:72px}
body.abx #robbieWidget .rail-title,body.abx #robbieWidget .rail-sub{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:normal!important;overflow-wrap:normal!important}
body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn{flex:0 0 auto}
@media (min-width:961px){   /* on a phone the header keeps its own layout: icons with their labels under them */
  @container rbwin (max-width:640px){
    body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn{width:40px!important;padding:0!important;justify-content:center}
    body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn .rb-hbtn-t{display:none!important}
  }
  @container rbwin (max-width:470px){
    body.abx #robbieWidget .rail-head .robbie-close.rb-win{display:none!important}
  }
}
@media (max-width:960px){
  body.abx #robbieWidget .rail-head{gap:8px!important}
  body.abx #robbieWidget .rail-head .robbie-close.rb-win{display:none!important}
  body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn{flex-direction:column;width:52px!important;min-width:0!important;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;gap:3px;
    border:0!important;background:none!important;box-shadow:none!important;color:var(--abx-ink-2,#4A554E)!important;font:650 11px/1.1 var(--abx-font,Inter,system-ui,sans-serif)!important;letter-spacing:0}
  body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn:hover{background:none!important;box-shadow:none!important;transform:none}
  body.abx #robbieWidget .rb-hbtn-ic{width:36px;height:36px;background:#fff;color:#205CC5;border:1px solid var(--abx-line,#E3E6DF);box-shadow:0 1px 2px rgba(16,28,48,.06),0 6px 14px -9px rgba(16,28,48,.30)}
  body.abx #robbieWidget .rb-hbtn-t{max-width:52px;overflow:hidden;text-overflow:ellipsis}
}

/* p18z10 (Romik, 26 Oct 10:01 PT: "allow me to drag the chat window and allow me to maximize and minimize it"): on
   desktop the window moves by its header (--rb-dx, --rb-dy, set by ab-robbie-ui.js), fills the screen when maximized
   and folds into a small bar at the bottom right when minimized. */
@media (min-width:961px){
  html body.abx #robbieWidget.robbie-widget{transform:translate(calc(-50% + var(--rb-dx,0px)),calc(12px + var(--rb-dy,0px))) scale(.98)!important}
  html body.abx #robbieWidget.robbie-widget.open{transform:translate(calc(-50% + var(--rb-dx,0px)),var(--rb-dy,0px)) scale(1)!important}
  html body.abx #robbieWidget.robbie-widget.is-max{--rb-dx:0px!important;--rb-dy:0px!important;top:16px!important;left:50%!important;width:calc(100% - 32px)!important;height:calc(100% - 32px)!important;max-width:none!important;max-height:none!important;border-radius:22px!important}
  html body.abx #robbieWidget.robbie-widget.is-dragging{transition:none!important;user-select:none;-webkit-user-select:none}
  html body.abx #robbieWidget.robbie-widget.rb-win-snap{transition:none!important}
  body.abx #robbieWidget .rail-head{cursor:grab;touch-action:none}
  body.abx #robbieWidget.is-dragging .rail-head{cursor:grabbing}
  body.abx #robbieWidget.is-max .rail-head{cursor:default}
  body.abx #robbieWidget .rail-head .rb-hbtn{cursor:pointer}
  body.abx #robbieWidget.is-max .rb-size{display:none!important}
}
.rb-dock{position:fixed;right:24px;bottom:24px;z-index:9450;display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;background:#fff;border:1px solid #E3E6DF;
  box-shadow:0 2px 6px rgba(16,28,48,.08),0 22px 44px -18px rgba(16,28,48,.40);font-family:var(--abx-font,Inter,system-ui,sans-serif);animation:rbDockIn .34s cubic-bezier(.22,1,.36,1) both}
.rb-dock[hidden]{display:none!important}
@keyframes rbDockIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
.rb-dock-open{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:11px;padding:0 16px 0 0;border-radius:999px}
.rb-dock-open:focus-visible,.rb-dock-x:focus-visible{outline:3px solid #205CC5;outline-offset:2px}
.rb-dock-av{width:44px;height:44px;border-radius:50%;flex:0 0 44px;background:#EAF3E3 url(/robbie-mascot.png?v=3) no-repeat;background-size:290% auto;background-position:50% 3%;box-shadow:inset 0 0 0 1px rgba(25,36,31,.06)}
.rb-dock-t{display:flex;flex-direction:column;gap:2px;text-align:left}
.rb-dock-t b{font:750 15px/1.15 inherit;color:#19241F}
.rb-dock-t small{font:550 12.5px/1.25 inherit;color:#59645D}
.rb-dock-go{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#EAF1FC;color:#205CC5;margin-left:4px}
.rb-dock-open:hover .rb-dock-go{background:#205CC5;color:#fff}
.rb-dock-x{all:unset;box-sizing:border-box;cursor:pointer;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#4A554E}
.rb-dock-x:hover{background:#F1F3EF;color:#19241F}
@media (prefers-reduced-motion:reduce){.rb-dock{animation:none}}
@media print{.rb-dock{display:none!important}}
/* p18z10: the name never breaks on narrow phones. p18z30 (Romik, 31 Oct 2026: "when the window expands shouldn't the
   content expand too so it's easily visible?", "expand the items horizontally so it all comes into view"): a maximized
   window's chat and typing box use up to 1480 px of it (980 px before) */
@media (max-width:960px){body.abx #robbieWidget .rail-title{white-space:nowrap}}
@media (max-width:360px){body.abx #robbieWidget .rail-head{gap:6px!important;padding-left:12px!important;padding-right:8px!important}body.abx #robbieWidget .rail-head .robbie-close.rb-hbtn{width:46px!important}}
@media (min-width:961px){
  body.abx #robbieWidget.is-max #chat.chat{padding-left:max(20px,calc((100% - 1480px) / 2))!important;padding-right:max(20px,calc((100% - 1480px) / 2))!important}
  body.abx #robbieWidget.is-max .compose{padding-left:max(16px,calc((100% - 1500px) / 2))!important;padding-right:max(16px,calc((100% - 1500px) / 2))!important}
}
/* p18z27 (Romik, 31 Oct 2026: zoom for the chat window, 80% to 150%): what the chat holds, and the form helper's larger
   view, follow --rb-zoom (ab-robbie-ui.js); the window, its header and the typing box keep their size. The Size button
   in the header opens Smaller, the size and Larger. */
body.abx #robbieWidget #chat>*,body.abx #robbieWidget .abf-big-scroll>*{zoom:var(--rb-zoom,1)}
body.abx #robbieWidget .rb-zoom-pop{position:absolute;z-index:70;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:12px 12px 12px 14px;background:#fff;border:1px solid var(--abx-line,#E3E6DF);border-radius:18px;
  box-shadow:0 2px 6px rgba(16,28,48,.08),0 22px 44px -18px rgba(16,28,48,.40);animation:rbZoomIn .18s cubic-bezier(.22,1,.36,1) both}
body.abx #robbieWidget .rb-zoom-pop[hidden]{display:none!important}
@keyframes rbZoomIn{from{opacity:0;transform:translate3d(0,-4px,0)}to{opacity:1;transform:none}}
body.abx #robbieWidget .rb-zoom-h{font:700 11px/1.2 var(--abx-font,Inter,system-ui,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#4A554E}
.rb-zoom-row{display:inline-flex;align-items:center;gap:6px}
#robbieWidget .rb-zoom-row .rb-zoom-b,#robbieWidget .rb-zoom-row .rb-zoom-v{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:44px;min-width:44px;border-radius:999px!important;
  border:1px solid #CFDCEE;background:#fff;color:#205CC5;cursor:pointer;font:700 15px/1 var(--abx-font,Inter,system-ui,sans-serif);transition:background-color .15s,border-color .15s,color .15s}
#robbieWidget .rb-zoom-row .rb-zoom-v{min-width:74px;padding:0 12px;color:#19241F;font-variant-numeric:tabular-nums}
#robbieWidget .rb-zoom-row .rb-zoom-v.is-set{background:#EAF1FC;border-color:#BFD3F5;color:#174A9E}
#robbieWidget .rb-zoom-row .rb-zoom-b:disabled{opacity:.38;cursor:default}
#robbieWidget .rb-zoom-row .rb-zoom-b:not(:disabled):hover,#robbieWidget .rb-zoom-row .rb-zoom-v:hover{background:#EAF1FC;border-color:#205CC5}
#robbieWidget .rb-zoom-row .rb-zoom-b:focus-visible,#robbieWidget .rb-zoom-row .rb-zoom-v:focus-visible{outline:3px solid #205CC5;outline-offset:2px}
#robbieWidget .rb-zoom-a{font-weight:750;line-height:1}
#robbieWidget .rb-zoom-a.is-s{font-size:12.5px}
#robbieWidget .rb-zoom-a.is-l{font-size:20px}
@media (prefers-reduced-motion:reduce){body.abx #robbieWidget .rb-zoom-pop{animation:none}}
@media print{body.abx #robbieWidget #chat>*{zoom:1!important}}
/* p18z27: zoomed, a place card's open or closed line can wrap to three lines; it starts at the map's edge and grows down
   (bottom aligned, it grew up over the map's credit) */
html.rb-zoomed body.abx #robbieWidget .rb-place2.rb-has-hero:not(.rb-numbered) .rb-pc-top{align-items:flex-start}
html.rb-zoomed body.abx #robbieWidget .rb-place2.rb-has-hero:not(.rb-numbered) .rb-pc-top>:not(.rb-logo){padding-top:34px}

/* ------------------------------------------------ p18z30: one answer, one card
   Romik, 31 Oct 2026 (with the Lusanet Collective answer as a PDF): "organize the way the answers come in so it's not
   confusing, and elevate the way the change initially comes in, combining the cards so they aren't two seperate cards,
   consolidate information and make it easier for people to digest, all across robbie's responses".
   Before: the lead in a tinted bubble, then each card, each later paragraph and each tip as a block of its own (a place
   answer read as five or six separate boxes). Now every answer is one white card beside Robbie: the lead at the top,
   the place, facts, steps, tips and the next steps inside it as its parts, the paragraphs as plain text between them,
   Keep exploring and the answer's tools at its foot. It comes in once: the card rises and settles, then its parts follow
   one after another (transform and opacity only, on the compositor; nothing moves with reduced motion). */
body.abx #robbieWidget .msg.ai.rb-answer{isolation:isolate;display:flex!important;flex-direction:column;gap:14px;padding:20px 22px 18px calc(var(--rb-avatar) + 12px + 22px)!important}
body.abx #robbieWidget .msg.ai.rb-answer:after{content:"";position:absolute;z-index:-1;left:calc(var(--rb-avatar) + 12px);right:0;top:0;bottom:0;pointer-events:none;
  background:#fff;border:1px solid var(--rb-line);border-radius:8px 24px 24px 24px;box-shadow:0 1px 2px rgba(25,36,31,.04),0 18px 44px -28px rgba(25,36,31,.30)}
body.abx #robbieWidget .msg.ai.rb-answer>*{margin-top:0!important;margin-bottom:0!important}
body.abx #robbieWidget .msg.ai.rb-answer>.rb-bubble,body.abx #robbieWidget .msg.ai.rb-answer>.rb-prose{background:none!important;border-radius:0!important;padding:0!important}
body.abx #robbieWidget .msg.ai.rb-answer .rb-lead{margin:0 0 4px}
/* the cards inside are parts of the answer: a quiet edge, no shadow of their own */
body.abx #robbieWidget .msg.ai.rb-answer :is(.rb-card,.rb-factcard,.rb-org,.abs-shop,.robbie-result-card,.itin-card,.rb-event){box-shadow:none!important;border-color:var(--rb-line-2,#E7EBE4)!important}
body.abx #robbieWidget .msg.ai.rb-answer>.rb-tip{margin:0!important}
body.abx #robbieWidget .msg.ai.rb-answer>.rb-explore{padding-top:14px!important;border-top:1px solid var(--rb-line-2,#E7EBE4)}
body.abx #robbieWidget .msg.ai.rb-answer>.msg-actions{margin-top:0!important}
/* it comes in once: the card, then its parts */
@keyframes rbOneIn{from{opacity:0;transform:translate3d(0,14px,0) scale(.985)}to{opacity:1;transform:none}}
body.abx #robbieWidget .msg.ai.rb-answer:after{transform-origin:0 0;animation:rbOneIn .55s cubic-bezier(.16,1,.3,1) both}
body.abx #robbieWidget .rb-answer.rb-stagger>*{animation:rbRise .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(120ms + var(--rb-i,0)*80ms)}
@media (prefers-reduced-motion:reduce){body.abx #robbieWidget .msg.ai.rb-answer:after{animation:none}}
@media (max-width:600px){
  /* the card takes the phone's width (10 px inside it, so a card's Call, Directions and Website fit at 320 px in Spanish
     and Armenian); the lead sits beside Robbie, an answer that starts with a card starts under him */
  body.abx #robbieWidget .msg.ai.rb-answer{padding:14px 10px 12px!important;gap:12px}
  body.abx #robbieWidget .msg.ai.rb-answer:after{left:0;border-radius:20px}
  body.abx #robbieWidget .msg.ai.rb-answer:before{left:10px;top:12px}
  body.abx #robbieWidget .msg.ai.rb-answer>.rb-bubble{margin-left:44px!important;min-height:36px}
  body.abx #robbieWidget .msg.ai.rb-answer>:first-child:not(.rb-bubble){margin-left:0!important;margin-top:44px!important}
}
@media print{body.abx #robbieWidget .msg.ai.rb-answer:after{box-shadow:none;animation:none}}
/* Save PDF's copy (.rb-pdfshot) stops the parts' animations; the card behind them is a pseudo-element, stopped here */
body.abx #robbieWidget .msg.ai.rb-answer.rb-pdfshot:after{animation:none!important;transform:none!important;opacity:1!important}
/* p18z30 (Romik, 31 Oct 2026, on the numbered steps: "can we make these icons colorful and elevated so they stand out
   more"): each step's number in its own colour (blue, violet, green, orange, teal, rose, then again), a light to deep
   gradient, raised with a soft shadow of its own colour and a white ring; the line to the next step in the same colour */
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li{--s1:#5B95F5;--s2:#1E56C4}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:nth-child(6n+2){--s1:#A386F5;--s2:#6240D0}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:nth-child(6n+3){--s1:#4CBF72;--s2:#1F7A3D}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:nth-child(6n+4){--s1:#F7A24B;--s2:#C2580C}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:nth-child(6n+5){--s1:#2EC0BC;--s2:#0B7478}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:nth-child(6n+6){--s1:#F27AA8;--s2:#B42E66}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li>.rb-li-n{flex:0 0 32px;width:32px;height:32px;font-size:14.5px;
  background:linear-gradient(150deg,var(--s1) 0%,var(--s2) 100%);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.2);
  box-shadow:0 0 0 3px #fff,0 7px 16px -5px color-mix(in srgb,var(--s2) 70%,transparent),0 2px 4px -1px color-mix(in srgb,var(--s2) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.4)}
body.abx #robbieWidget .rb-answer .rb-ol>.rb-li:not(:last-child):before{left:15px;top:38px;bottom:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--s1) 70%,#fff),color-mix(in srgb,var(--s1) 22%,#fff))}
@media print{body.abx #robbieWidget .rb-answer .rb-ol>.rb-li>.rb-li-n{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* p18z30 (Romik, 31 Oct 2026: "can we remove this from the chat window"): no "Ask something new" row in Robbie's window */
body.abx #robbieWidget #robbieMarquee,#robbieMarquee{display:none!important}
/* p18z31 (Romik, 1 Nov 2026: "lets elevate it and make it feel premium"): while Robbie is maximized the page behind dims
   a little more (a layer on Robbie's backdrop that fades in and out: opacity, on the compositor) */
@media (min-width:961px){
  body.abx #robbieScrim::after{content:"";position:absolute;inset:0;background:rgba(13,18,32,.26);opacity:0;transition:opacity .46s cubic-bezier(.16,1,.3,1);pointer-events:none}
  body.abx.rb-max-dim #robbieScrim::after{opacity:1}
}
@media (prefers-reduced-motion:reduce){body.abx #robbieScrim::after{transition:none}}

/* p18z39 (Romik, 4 Nov 2026: "give it a couple of seconds after i stop talking to submit my request ... and put an
   animation that shows that robbie can hear my voice, use higgsfield for that"). While the mic listens, a panel floats
   just above the question box (no layout shift): Robbie with his hand to his ear (Higgsfield clip media/robbie-listen-c.*),
   bars that move each time words arrive, and a line that fills during the pause before the question is sent. The mic
   button turns blue with a ring. Transform and opacity only. */
#robbieWidget .compose-row,.robbie-widget .compose-row{position:relative}
.rb-listen{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:4;display:flex;align-items:center;gap:10px;padding:8px 14px 10px 8px;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(15,42,90,.18),0 0 0 1px rgba(37,99,235,.10);overflow:hidden;opacity:0;transform:translate3d(0,10px,0) scale(.97);transform-origin:50% 100%;pointer-events:none;transition:opacity .2s ease,transform .34s cubic-bezier(.16,1,.3,1)}
.rb-listen.is-on{opacity:1;transform:translate3d(0,0,0) scale(1)}
.rb-listen-face{position:relative;flex:0 0 52px;width:52px;height:52px;border-radius:50%;overflow:hidden;background:#EAF1FC url('/media/robbie-listen-c.webp?v=1') 50% 50%/cover no-repeat;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(37,99,235,.28)}
.rb-listen-face video,.rb-listen-face img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;margin:0!important;border-radius:0!important}
.rb-listen-txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.25}
.rb-listen-t{font-size:14.5px;font-weight:700;color:#0f2a5a}
.rb-listen-s{font-size:12.5px;color:#4b5b75}
.rb-listen-bars{flex:0 0 auto;display:flex;align-items:center;gap:3px;height:24px}
.rb-listen-bars i{display:block;width:3px;height:24px;border-radius:2px;background:#2563eb;opacity:.5;transform:scaleY(.22);transform-origin:50% 50%}
.rb-listen.is-on .rb-listen-bars i{animation:rbListenIdle 1.8s ease-in-out infinite}
.rb-listen.is-hear .rb-listen-bars i{opacity:1;animation:rbListenHear .42s ease-in-out infinite alternate}
.rb-listen-bars i:nth-child(2){animation-delay:-.15s!important}
.rb-listen-bars i:nth-child(3){animation-delay:-.3s!important}
.rb-listen-bars i:nth-child(4){animation-delay:-.45s!important}
.rb-listen-bars i:nth-child(5){animation-delay:-.6s!important}
@keyframes rbListenIdle{0%,100%{transform:scaleY(.22)}50%{transform:scaleY(.38)}}
@keyframes rbListenHear{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
.rb-listen-wait{position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#2563eb,#22c55e);transform:scaleX(0);transform-origin:0 50%;opacity:0;transition:opacity .2s ease}
.rb-listen.is-wait .rb-listen-wait{opacity:1}
body.abx #robbieWidget .mic-btn.listening,#robbieWidget .compose-row .mic-btn.listening{position:relative;background:#2563eb!important;color:#fff!important}
body.abx #robbieWidget .mic-btn.listening:after,#robbieWidget .compose-row .mic-btn.listening:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,99,235,.5);pointer-events:none;animation:rbMicRing 1.4s ease-out infinite}
@keyframes rbMicRing{from{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .rb-listen{transition:opacity .2s ease}
  .rb-listen-bars i,body.abx #robbieWidget .mic-btn.listening:after,#robbieWidget .compose-row .mic-btn.listening:after{animation:none!important}
  .rb-listen.is-hear .rb-listen-bars i{transform:scaleY(.7)}
}
@media print{ .rb-listen{display:none!important} }
