/* IDBOT Support — tech-support chat (2026-11-05) for the hub, its sign-in page and the public share pages. It carries its own colour tokens
 * (the hub's values), so it looks the same on the hub, the sign-in page and the share pages, in light and dark. */
.rb-launch,.rb-panel{--rb-bg:#F3F6F8;--rb-surface:#fff;--rb-surface-2:#F7FAFB;--rb-sunken:#EEF3F6;--rb-border:#DDE5EA;--rb-border-2:#C9D6DE;
  --rb-text:#18171A;--rb-muted:#5A6672;--rb-faint:#8A96A1;--rb-primary:#0E6E86;--rb-ink:#0E6E86;--rb-soft:#E2F0F4;--rb-accent:#B90028;color-scheme:light}
:root[data-theme="dark"] .rb-launch,:root[data-theme="dark"] .rb-panel{--rb-bg:#0B0A0E;--rb-surface:#15141A;--rb-surface-2:#1B1A21;--rb-sunken:#0F0E13;
  --rb-border:rgba(255,255,255,.09);--rb-border-2:rgba(255,255,255,.16);--rb-text:#F2F1F5;--rb-muted:#A8A5B2;--rb-faint:#7E7B86;--rb-ink:#5CC2D6;--rb-soft:rgba(92,194,214,.13);
  --rb-accent:#FF6B81;color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .rb-launch,:root:not([data-theme]) .rb-panel{--rb-bg:#0B0A0E;--rb-surface:#15141A;--rb-surface-2:#1B1A21;
  --rb-sunken:#0F0E13;--rb-border:rgba(255,255,255,.09);--rb-border-2:rgba(255,255,255,.16);--rb-text:#F2F1F5;--rb-muted:#A8A5B2;--rb-faint:#7E7B86;--rb-ink:#5CC2D6;
  --rb-soft:rgba(92,194,214,.13);--rb-accent:#FF6B81;color-scheme:dark}
  :root:not([data-theme]) .rb-launch{box-shadow:0 6px 22px rgba(0,0,0,.5)}:root:not([data-theme]) .rb-panel{box-shadow:0 18px 50px rgba(0,0,0,.6)}}
.rb-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
a.rb-chip{display:inline-block;text-decoration:none}
.rb-chip-p:hover{color:var(--rb-ink)}
.rb-launch{position:fixed;right:20px;bottom:20px;z-index:70;display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 20px 0 16px;border:0;border-radius:26px;
  background:var(--rb-primary);color:#fff;font:700 .92rem/1 Inter,system-ui,sans-serif;cursor:pointer;box-shadow:0 6px 22px rgba(14,110,134,.35),0 2px 6px rgba(0,0,0,.12);transition:transform .15s,box-shadow .15s}
.rb-launch svg{width:22px;height:22px}
.rb-launch:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(14,110,134,.42),0 2px 6px rgba(0,0,0,.14)}
.rb-launch:focus-visible{outline:3px solid var(--rb-ink);outline-offset:3px}
html.rb-on .rb-launch{display:none}
.rb-panel{position:fixed;right:20px;bottom:20px;z-index:71;width:400px;height:min(640px,calc(100vh - 40px));display:flex;flex-direction:column;
  background:var(--rb-surface);color:var(--rb-text);border:1px solid var(--rb-border);border-radius:18px;overflow:hidden;
  box-shadow:0 18px 50px rgba(16,40,52,.22),0 3px 10px rgba(16,40,52,.08);font:400 .9rem/1.5 Inter,system-ui,sans-serif}
.rb-panel[hidden]{display:none}
.rb-head{display:flex;align-items:center;gap:10px;padding:12px 10px 12px 14px;background:var(--rb-primary);color:#fff}
.rb-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.18);flex:none}
.rb-av svg{width:20px;height:20px}
.rb-ttl{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.rb-ttl b{font-size:.98rem}
.rb-ttl span{font-size:.76rem;opacity:.85}
.rb-ib{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#fff;cursor:pointer}
.rb-ib:hover{background:rgba(255,255,255,.16)}
.rb-ib svg{width:18px;height:18px}
.rb-log{position:relative;flex:1;overflow-y:auto;padding:14px 12px 6px;background:var(--rb-bg);overscroll-behavior:contain;scroll-behavior:smooth}
.rb-msg{display:flex;margin:0 0 10px}
.rb-u{justify-content:flex-end}
.rb-bub{max-width:92%;padding:9px 12px;border-radius:14px;overflow-wrap:anywhere}
.rb-u .rb-bub{background:var(--rb-primary);color:#fff;border-bottom-right-radius:4px;max-width:80%;white-space:pre-wrap}
.rb-b .rb-bub{background:var(--rb-surface);border:1px solid var(--rb-border);border-bottom-left-radius:4px;width:92%}
.rb-bub p{margin:0 0 8px}.rb-bub p:last-child{margin-bottom:0}
.rb-bub ol,.rb-bub ul{margin:4px 0 8px;padding-left:20px}
.rb-bub li{margin:2px 0}
.rb-bub code{font:500 .82em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--rb-sunken);padding:1px 4px;border-radius:4px}
.rb-bub a{color:var(--rb-ink);font-weight:600}
.rb-bub h4{margin:2px 0 6px;font-size:.95rem;line-height:1.35}
.rb-bub h5{margin:10px 0 4px;font-size:.85rem}
.rb-card{position:relative}
.rb-where{display:flex;gap:6px;align-items:flex-start;margin:0 0 8px;color:var(--rb-muted);font-size:.74rem;line-height:1.35}
.rb-where svg{width:14px;height:14px;flex:none;margin-top:1px}
.rb-fix{display:grid;gap:8px}
.rb-fix span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rb-muted);margin-bottom:1px}
.rb-do{padding:8px 10px;border-radius:10px;background:var(--rb-soft)}
.rb-kv{display:grid;grid-template-columns:minmax(90px,38%) 1fr;gap:4px 10px;margin:4px 0 8px}
.rb-kv dt{font-weight:600;color:var(--rb-muted);font-size:.82rem}
.rb-kv dd{margin:0}
.rb-spec{grid-template-columns:auto 1fr;font-size:.95rem}
.rb-note{margin:6px 0;padding:7px 10px;border-radius:9px;border-left:3px solid var(--rb-ink);background:var(--rb-surface-2);font-size:.85rem}
.rb-note-caution{border-left-color:var(--rb-accent)}
.rb-code{margin:6px 0;padding:8px 10px;max-height:200px;overflow:auto;border-radius:8px;background:var(--rb-sunken);font-size:.78rem;white-space:pre}
.rb-code code{background:none;padding:0}
.rb-tw{overflow-x:auto;margin:6px 0}
.rb-tw table{border-collapse:collapse;font-size:.8rem;min-width:100%}
.rb-tw th,.rb-tw td{border:1px solid var(--rb-border);padding:4px 6px;text-align:left;vertical-align:top}
.rb-tw th{background:var(--rb-surface-2)}
.rb-long .rb-body{max-height:260px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}
.rb-more{display:block;margin:4px 0 0;border:0;background:none;color:var(--rb-ink);font:700 .82rem Inter,system-ui,sans-serif;cursor:pointer;padding:2px 0}
.rb-src{display:inline-block;margin-top:8px;font-size:.8rem}
.rb-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.rb-chip{border:1px solid var(--rb-border-2);background:var(--rb-surface);color:var(--rb-text);border-radius:16px;padding:5px 11px;font:500 .8rem/1.3 Inter,system-ui,sans-serif;cursor:pointer;text-align:left}
.rb-chip:hover{border-color:var(--rb-ink);color:var(--rb-ink)}
.rb-chip-p{background:var(--rb-soft);border-color:transparent;color:var(--rb-ink);font-weight:700}
.rb-fb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid var(--rb-border);font-size:.8rem;color:var(--rb-muted)}
.rb-fb .rb-chip{padding:3px 12px}
.rb-also{margin-top:10px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--rb-muted)}
.rb-hand{display:grid;gap:6px;margin-top:6px}
.rb-btn{display:flex;align-items:center;gap:8px;justify-content:center;min-height:38px;padding:7px 12px;border-radius:10px;border:1px solid var(--rb-border-2);background:var(--rb-surface);
  color:var(--rb-text)!important;font:600 .84rem/1.25 Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer}
.rb-btn svg{width:16px;height:16px;flex:none}
.rb-btn-p{background:var(--rb-primary);border-color:transparent;color:#fff!important}
.rb-btn:disabled{opacity:.6;cursor:default}
.rb-dls{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.rb-dls a{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border:1px solid var(--rb-border);border-radius:10px;text-decoration:none;color:var(--rb-text)!important;font-weight:400}
.rb-dls a:hover{border-color:var(--rb-ink)}
.rb-dls svg{width:16px;height:16px;flex:none;margin-top:2px;color:var(--rb-ink)}
.rb-dls b{display:block;font-size:.84rem;line-height:1.3}
.rb-dls small{color:var(--rb-muted);font-size:.74rem}
.rb-ticket{display:grid;gap:8px}
.rb-ticket label{display:grid;gap:3px;font-size:.8rem;font-weight:600}
.rb-ticket input,.rb-ticket select,.rb-ticket textarea{width:100%;box-sizing:border-box;padding:7px 9px;border:1px solid var(--rb-border-2);border-radius:8px;background:var(--rb-surface);color:var(--rb-text);font:400 .88rem/1.4 Inter,system-ui,sans-serif}
.rb-ticket textarea{resize:vertical}
.rb-ticket .rb-bad{border-color:var(--rb-accent);box-shadow:0 0 0 2px rgba(185,0,40,.12)}
.rb-err{color:var(--rb-accent);font-size:.8rem;min-height:0}
.rb-err:empty{display:none}
.rb-mut{color:var(--rb-muted);font-weight:400;font-size:.78rem;margin:0}
.rb-done b{display:block;margin-bottom:4px}
.rb-typing .rb-bub{display:inline-flex;gap:4px;width:auto;padding:12px 14px}
.rb-typing i{width:6px;height:6px;border-radius:50%;background:var(--rb-faint);animation:rbdot 1s infinite ease-in-out}
.rb-typing i:nth-child(2){animation-delay:.15s}.rb-typing i:nth-child(3){animation-delay:.3s}
@keyframes rbdot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.rb-form{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--rb-border);background:var(--rb-surface)}
.rb-form textarea{flex:1;resize:none;min-height:40px;max-height:120px;box-sizing:border-box;padding:9px 12px;border:1px solid var(--rb-border-2);border-radius:12px;background:var(--rb-surface-2);color:var(--rb-text);font:400 .9rem/1.4 Inter,system-ui,sans-serif}
.rb-form textarea:focus{outline:2px solid var(--rb-ink);outline-offset:0;border-color:transparent}
.rb-send{display:grid;place-items:center;width:40px;height:40px;flex:none;border:0;border-radius:12px;background:var(--rb-primary);color:#fff;cursor:pointer}
.rb-send svg{width:18px;height:18px}
.rb-foot{padding:0 12px 9px;background:var(--rb-surface);font-size:.74rem;color:var(--rb-muted);text-align:center}
.rb-foot a{color:var(--rb-ink);font-weight:700;text-decoration:none}
.rb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:root[data-theme="dark"] .rb-launch{box-shadow:0 6px 22px rgba(0,0,0,.5)}
:root[data-theme="dark"] .rb-panel{box-shadow:0 18px 50px rgba(0,0,0,.6)}
:root[data-theme="dark"] .rb-head,:root[data-theme="dark"] .rb-launch,:root[data-theme="dark"] .rb-send,:root[data-theme="dark"] .rb-btn-p,:root[data-theme="dark"] .rb-u .rb-bub{background:#0E6E86}
@media (max-width:640px){
  .rb-launch{right:16px;bottom:16px;width:56px;height:56px;padding:0;justify-content:center;border-radius:50%}
  .rb-launch span{display:none}
  .rb-form textarea,.rb-ticket input,.rb-ticket select,.rb-ticket textarea{font-size:16px}
  .rb-panel{inset:0;right:0;bottom:0;width:auto;height:100%;height:100dvh;border-radius:0;border:0}
  html.rb-on,html.rb-on body{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.rb-log{scroll-behavior:auto}.rb-typing i{animation:none}.rb-launch{transition:none}}
@media print{.rb-launch,.rb-panel{display:none!important}}
.rb-url{display:block;margin-top:6px;user-select:all;-webkit-user-select:all;word-break:break-all;font-size:.78rem}
/* ---- the widget's "full page" button ---- */
a.rb-ib{text-decoration:none}
/* ---- page layout: /resourcehub/support/ (owner, 2026-11-05: "a seperate page altogether with some good ui") ----
 * The chat fills #rbMount; its content sits in a centred 800px column (padding, so the scrollbar stays at the edge). */
.rb-panel.rb-page{position:relative;inset:auto;right:auto;bottom:auto;z-index:auto;flex:1;width:auto;height:auto;min-width:0;min-height:0;border:0;border-radius:0;
  box-shadow:none;background:var(--rb-bg);font-size:.95rem;--rb-col:max(16px,calc((100% - 800px) / 2))}
.rb-panel.rb-page .rb-head{background:var(--rb-surface);color:var(--rb-text);border-bottom:1px solid var(--rb-border);padding:10px var(--rb-col)}
.rb-page .rb-av{background:var(--rb-soft);color:var(--rb-ink)}
.rb-page .rb-ttl span{color:var(--rb-muted);opacity:1}
.rb-new{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;border:1px solid var(--rb-border-2);border-radius:10px;background:var(--rb-surface);
  color:var(--rb-text);font:600 .84rem/1 Inter,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.rb-new:hover{border-color:var(--rb-ink);color:var(--rb-ink)}
.rb-new svg{width:16px;height:16px}
.rb-page .rb-log{display:flex;flex-direction:column;padding:26px var(--rb-col) 10px}
.rb-page .rb-msg{flex:none;margin-bottom:16px}
.rb-page .rb-b::before{content:"";flex:none;width:32px;height:32px;margin:2px 10px 0 0;border-radius:50%;
  background:#0E6E86 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2.5l1.9 4.6 4.6 1.9-4.6 1.9L12 15.5l-1.9-4.6L5.5 9l4.6-1.9L12 2.5zm6.5 11l.95 2.3 2.3.95-2.3.95-.95 2.3-.95-2.3-2.3-.95 2.3-.95.95-2.3zM6 15l.7 1.8 1.8.7-1.8.7L6 20l-.7-1.8L3.5 17.5l1.8-.7L6 15z'/%3E%3C/svg%3E") center/18px no-repeat}
.rb-page .rb-b .rb-bub{flex:1;min-width:0;width:auto;max-width:none;padding:12px 16px;border-radius:16px;border-top-left-radius:4px;border-bottom-left-radius:16px;line-height:1.6;
  box-shadow:0 1px 2px rgba(16,40,52,.04)}
.rb-page .rb-u .rb-bub{max-width:75%;padding:10px 15px;border-radius:16px;border-bottom-right-radius:4px}
.rb-page .rb-typing .rb-bub{flex:none}
.rb-page .rb-bub h4{font-size:1.02rem}
.rb-page .rb-chip{padding:7px 13px;font-size:.84rem}
.rb-page .rb-ticket{max-width:560px}
.rb-page .rb-hand{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.rb-prodcard{display:flex;gap:12px;align-items:center;margin:0 0 10px}
.rb-prodcard img{width:56px;height:56px;flex:none;border-radius:12px;background:#fff;border:1px solid var(--rb-border);object-fit:contain;padding:3px;box-sizing:border-box}
.rb-prodcard b{display:block;font-size:1.02rem;line-height:1.3}
.rb-prodcard small{display:block;color:var(--rb-muted);font-size:.82rem;line-height:1.35}
/* welcome screen: centred while nothing has been asked, then it scrolls away above the conversation */
.rb-welcome{flex:none;text-align:center;padding:8px 0 26px}
.rb-fresh .rb-welcome{margin-top:auto;margin-bottom:auto}
.rbw-av{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#0E6E86,#0A3F4E);
  box-shadow:0 10px 28px rgba(14,110,134,.3)}
.rbw-av svg{width:34px;height:34px}
.rbw-eye{display:block;margin:0 0 8px;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--rb-ink)}
a.rbw-tile,a.rbw-eg{text-decoration:none}
a.rbw-eg{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:var(--rb-ink);font-weight:600}
.rb-welcome h1{margin:0 0 10px;font-size:clamp(1.55rem,3.4vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--rb-text)}
.rb-welcome>p{max-width:610px;margin:0 auto;color:var(--rb-muted);font-size:1rem;line-height:1.65}
.rb-welcome>p b{color:var(--rb-text)}
.rbw-eg{display:inline;padding:0;border:0;background:none;color:var(--rb-ink);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.rb-welcome .rb-chips{justify-content:center;margin-top:16px}
.rbw-h{margin:30px 0 12px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--rb-muted)}
.rbw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;text-align:left}
.rbw-tile{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border:1px solid var(--rb-border);border-radius:14px;background:var(--rb-surface);color:var(--rb-text);
  font:600 .9rem/1.3 Inter,system-ui,sans-serif;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.rbw-tile:hover{border-color:var(--rb-ink);box-shadow:0 6px 18px rgba(16,40,52,.08);transform:translateY(-1px)}
.rbw-tile:focus-visible,.rb-new:focus-visible,.rbw-prods:focus-visible{outline:2px solid var(--rb-ink);outline-offset:2px}
.rbw-l{flex:1;min-width:0}
.rbw-ic{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:var(--rb-soft);color:var(--rb-ink)}
.rbw-ic svg{width:20px;height:20px}
.rbw-tile>svg{width:16px;height:16px;flex:none;color:var(--rb-faint);transition:transform .15s,color .15s}
.rbw-tile:hover>svg{color:var(--rb-ink);transform:translateX(2px)}
.rbw-prods{display:none;align-items:center;gap:8px;margin:16px auto 0;height:42px;padding:0 16px;border:1px solid var(--rb-border-2);border-radius:12px;background:var(--rb-surface);
  color:var(--rb-text);font:700 .88rem/1 Inter,system-ui,sans-serif;cursor:pointer}
.rbw-prods svg{width:18px;height:18px;color:var(--rb-ink)}
/* composer */
.rb-panel.rb-page .rb-form{display:block;padding:10px var(--rb-col) 6px;border-top:0;background:var(--rb-bg)}
.rb-compose{display:flex;align-items:flex-end;gap:8px;padding:7px 7px 7px 16px;border:1px solid var(--rb-border-2);border-radius:16px;background:var(--rb-surface);
  box-shadow:0 4px 18px rgba(16,40,52,.07)}
.rb-compose:focus-within{border-color:var(--rb-ink);box-shadow:0 0 0 3px var(--rb-soft),0 4px 18px rgba(16,40,52,.07)}
.rb-panel.rb-page .rb-form textarea{min-height:42px;padding:10px 0;border:0;border-radius:0;background:transparent;font-size:1rem}
.rb-panel.rb-page .rb-form textarea:focus{outline:0}
.rb-page .rb-send{width:42px;height:42px}
.rb-panel.rb-page .rb-foot{padding:4px var(--rb-col) 12px;background:var(--rb-bg)}
:root[data-theme="dark"] .rb-page .rb-b .rb-bub{box-shadow:none}
:root[data-theme="dark"] .rbw-tile:hover{box-shadow:0 6px 18px rgba(0,0,0,.4)}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .rb-page .rb-b .rb-bub{box-shadow:none}}
@media (max-width:860px){.rbw-prods{display:inline-flex}}
@media (max-width:640px){
  .rb-panel.rb-page .rb-head{padding:8px 12px}
  .rb-new span{display:none}
  .rb-new{width:36px;padding:0;justify-content:center}
  .rb-page .rb-log{padding:18px 12px 8px}
  .rb-page .rb-b::before{width:28px;height:28px;margin-right:8px;background-size:16px}
  .rb-page .rb-b .rb-bub{padding:10px 13px}
  .rb-page .rb-u .rb-bub{max-width:85%}
  .rbw-grid{grid-template-columns:1fr 1fr;gap:8px}
  .rbw-tile{flex-direction:column;align-items:flex-start;gap:8px;min-height:0;padding:12px}
  .rbw-tile>svg{display:none}
  .rb-panel.rb-page .rb-form{padding:8px 10px 4px}
  .rb-panel.rb-page .rb-foot{padding:2px 12px 10px}
  .rb-kbd{display:none}
}
@media (prefers-reduced-motion:reduce){.rbw-tile,.rbw-tile>svg{transition:none}.rbw-tile:hover{transform:none}}
/* review 2026-11-06: focus moved by the bot (log, expanded card, ticket confirmation) shows no ring for mouse users;
 * phones with a home indicator or notch keep the composer and the widget's foot clear of it */
.rb-log:focus,.rb-card:focus,.rb-done:focus{outline:none}
.rb-log:focus-visible,.rb-card:focus-visible{outline:2px solid var(--rb-ink);outline-offset:-2px}
.rb-panel.rb-page .rb-foot{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media (max-width:640px){
  .rb-panel.rb-page .rb-foot{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .rb-panel:not(.rb-page) .rb-foot{padding-bottom:max(9px,env(safe-area-inset-bottom))}
  .rb-launch{bottom:max(16px,env(safe-area-inset-bottom))}
}
