
/* ============================================================
   ITZA Chat - dense messenger. Gold = money, and only money.
   Themes: light (brand default) / dark navy. Accents: blue (brand) / gold. Gold marks money.
   ============================================================ */
:root{
  --gold:#f5c711; --gold-deep:#c79d00; --gold-soft:rgba(245,199,17,.16); --navy:#0b2a4a;
  --blue:#0c7ffb; --blue-soft:#1d6fd0;
  --mono:'JetBrains Mono','SF Mono',ui-monospace,Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --r:12px; --r-sm:8px;
  --safe-b:env(safe-area-inset-bottom,0px);
  /* wordmark, light values - they live in :root so they are also the default
     if no theme attribute is set; [data-theme="dark"] overrides them below.
     The gold is DEEPENED here on purpose: brand gold #f5c711 on a white panel
     measures 1.61:1, which is illegible. #ad8009 measures 3.58:1 and still
     reads unmistakably as gold. */
  --wm-blue:#0c7ffb;
  --wm-gold:#ad8009;
}
[data-theme="light"]{
  --bg:#f3f4f6; --bg2:#ffffff; --bg3:#f7f7f8; --panel:#ffffff;
  --ink:#0b2a4a; --ink2:#1e416b; --ink3:#41618c;
  --line:#d7dbe2; --line2:#c5ccd6;
  --bubble-me:#fdf1c0; --bubble-them:#ffffff;
  --hover:rgba(12,127,251,.06); --active:rgba(12,127,251,.11);
  --danger:#d9364f; --ok:#1e9e4a;
  --scrim:rgba(24,59,103,.38);
  --card-shadow:0 18px 50px rgba(24,59,103,.12);
}
[data-theme="dark"]{
  --bg:#0b1f3a; --bg2:#10294a; --bg3:#173058; --panel:#10294a;
  --ink:#e8edf4; --ink2:#9db0c7; --ink3:#5b7089;
  --line:#1e3a63; --line2:#28466f;
  --bubble-me:#1d4373; --bubble-them:#16304f;
  --hover:rgba(255,255,255,.05); --active:rgba(255,255,255,.09);
  --danger:#ff5d6c; --ok:#3ddc84;
  --scrim:rgba(3,10,22,.72);
  --card-shadow:0 18px 50px rgba(0,0,0,.45);
  /* wordmark on the dark panel - full brand gold is legible here (10.27:1) */
  --wm-blue:#4d9bff;
  --wm-gold:#f5c711;
}
[data-accent="blue"]{ --acc:#0c7ffb; --acc-ink:#ffffff; }
[data-accent="gold"]{ --acc:#ffcc16; --acc-ink:#231c00; }
[data-theme="light"][data-accent="gold"]{ --acc:#c79d00; --acc-ink:#fff; }

*{box-sizing:border-box; margin:0; padding:0}
html,body{height:100%}
body{
  font:13px/1.45 var(--sans); color:var(--ink); background:var(--bg);
  overflow:hidden; -webkit-font-smoothing:antialiased;
}
button{font:inherit; color:inherit; background:none; border:none; cursor:pointer}
input,textarea,select{font:inherit; color:var(--ink); background:var(--bg3); border:1px solid var(--line2); border-radius:var(--r-sm); padding:6px 9px; outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--acc)}
::placeholder{color:var(--ink3)}
:focus-visible{outline:2px solid var(--acc); outline-offset:1px}
@media (prefers-reduced-motion: reduce){ *,*::before,*::after{animation-duration:.01ms!important; transition-duration:.01ms!important} }
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:var(--line2); border-radius:4px}
::-webkit-scrollbar-track{background:transparent}

/* ---------- money styling: the one gold thing ---------- */
.chatamt{font-family:var(--mono); font-variant-numeric:tabular-nums; letter-spacing:.01em}
.gold{color:var(--gold)}
.money-chip{
  display:inline-flex; flex-direction:column; gap:2px; min-width:168px;
  background:linear-gradient(135deg, rgba(255,204,22,.18), rgba(255,204,22,.05));
  border:1px solid rgba(255,204,22,.55); border-radius:var(--r); padding:8px 11px;
}
[data-theme="light"] .money-chip{background:linear-gradient(135deg,#fdf4cf,#fbf7e6); border-color:#e2c33a}
.money-chip .amt{font-family:var(--mono); font-size:16px; font-weight:700; color:var(--gold)}
[data-theme="light"] .money-chip .amt{color:#8d6f00}
.money-chip .sub{font-size:10.5px; color:var(--ink2)}
.money-chip.req{background:transparent; border-style:dashed}
.money-chip .paybtn{margin-top:5px; align-self:flex-start; background:var(--gold); color:#231c00; font-weight:700; font-size:11px; padding:4px 12px; border-radius:99px}
.money-chip .paybtn:disabled{opacity:.5; cursor:default}
.gift-chip{
  position:relative; display:inline-flex; align-items:center; gap:9px; min-width:180px;
  background:linear-gradient(140deg,#c79d00,#eab900 45%,#ffcc16); color:#231c00;
  border-radius:var(--r); padding:11px 13px; cursor:pointer; overflow:hidden;
  border:1px solid #a88400;
}
.gift-chip .env{font-size:20px}
.gift-chip .t{font-weight:700; font-size:12px}
.gift-chip .s{font-size:10.5px; opacity:.75}
.gift-chip.opened{background:var(--bg3); color:var(--ink); border:1px solid var(--gold); cursor:default}
.gift-chip.opened .amt{font-family:var(--mono); font-weight:700; color:var(--gold); font-size:15px}
.credit-meter{display:flex; align-items:center; gap:6px; padding:3px 9px; border:1px solid rgba(255,204,22,.5); border-radius:99px; background:var(--gold-soft); cursor:pointer; white-space:nowrap}
.credit-meter .v{font-family:var(--mono); font-weight:700; font-size:12px; color:var(--gold)}
[data-theme="light"] .credit-meter .v{color:#8d6f00}
.credit-meter .lbl{font-size:10px; color:var(--ink2); text-transform:uppercase; letter-spacing:.06em}
.feenote{font-size:10px; color:var(--ink3)}
/* upload_asset rejected twice - shown on the bubble with the node's reason */
.mediaerr{margin-top:4px; padding:4px 6px; border-radius:var(--r-sm); background:rgba(220,38,38,.10);
  border:1px solid rgba(220,38,38,.34); color:var(--danger); font-size:10.5px; line-height:1.35; word-break:break-word}

/* ---------- layout ---------- */
#app{display:none; height:100%; }
#app.on{display:flex}
.side{width:296px; min-width:296px; display:flex; flex-direction:column; background:var(--panel); border-right:1px solid var(--line)}
.main{flex:1; display:flex; flex-direction:column; min-width:0; background:var(--bg)}
.topbar{display:flex; align-items:center; gap:8px; padding:0 10px; border-bottom:1px solid var(--line); height:52px; min-height:52px; box-sizing:border-box}
.brand{display:flex; align-items:center; gap:7px; font-weight:800; font-size:14px; letter-spacing:.02em}
.brand .pyr{width:22px;height:auto}
.obcard .pyr{width:44px;height:auto}
/* ---------------------------------------------------------------------
   THE WORDMARK - house standard across every ITZA property.
   The product name runs straight into ITZA with no space and no break:
   ITZAChat, ITZAChess, ITZATrade. "ITZA" is the lighter weight in corporate
   blue; the product word is bold in corporate gold. Sized in em so it scales
   with whatever it is dropped into.

   Logo, not prose: flowing sentences still write "ITZA Chat" with a space -
   inside a paragraph the colour split reads as noise.
   --------------------------------------------------------------------- */
.wm{white-space:nowrap; letter-spacing:-.01em; line-height:1}
.wm .wm-itza{color:var(--wm-blue); font-weight:600}
.wm .wm-prod{color:var(--wm-gold); font-weight:800}
.iconbtn{display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:var(--r-sm); color:var(--ink2); font-size:15px}
.iconbtn:hover{background:var(--hover); color:var(--ink)}
.iconbtn.small{width:26px;height:26px;font-size:13px}
.searchwrap{padding:7px 10px; border-bottom:1px solid var(--line)}
.searchwrap input{width:100%; font-size:12.5px; padding:6px 10px; border-radius:99px}
/* in-chat search bar (below the conversation header) + match highlighting */
.chsearchbar{display:flex; align-items:center; gap:6px; padding:6px 10px; border-bottom:1px solid var(--line); background:var(--panel)}
.chsearchbar input{flex:1; min-width:0; font-size:13px; padding:6px 12px; border-radius:99px}
.chsearchcount{flex:none; font-size:11px; color:var(--ink3); white-space:nowrap}
/* update-available banner (fixed at the very top; only shown when the contract
   reports a newer build) */
#updateBar{position:fixed; top:0; left:0; right:0; z-index:300; display:flex; align-items:center; justify-content:center; gap:12px;
  padding:calc(7px + env(safe-area-inset-top,0px)) 12px 7px; background:var(--acc); color:var(--acc-ink); font-size:12.5px; box-shadow:0 2px 10px rgba(11,42,74,.22)}
#updateBar button{flex:none; padding:5px 14px; border-radius:99px; background:var(--acc-ink); color:var(--acc); font-weight:700; font-size:12px}
.msg.searchhit .bub{box-shadow:0 0 0 2px var(--gold-soft)}
.msg.searchcur .bub{box-shadow:0 0 0 2px var(--acc)}
.listtabs{display:flex; gap:2px; padding:5px 10px 0}
.listtabs button{font-size:11px; color:var(--ink3); padding:4px 9px; border-radius:99px; font-weight:600}
.listtabs button.on{background:var(--bg3); color:var(--ink)}
/* push opt-in row: a quiet notice, not an alert. Shown only when the browser
   supports push and has not been asked yet (see Push.refreshUi). */
.pushrow{display:flex; align-items:center; gap:9px; margin:7px 10px 0; padding:8px 9px;
  background:var(--bg3); border:1px solid var(--line); border-radius:var(--r)}
.pushrow .ico{font-size:16px; flex:none; line-height:1}
/* The sidebar leaves this text ~126px once the icon, button and dismiss have
   taken their share, so it WRAPS. Ellipsis here truncated mid-sentence at every
   width, which is worse than two short lines. */
.pushrow .txt{flex:1; min-width:0}
.pushrow .t{font-size:12px; font-weight:600; color:var(--ink); line-height:1.3}
.pushrow .s{font-size:10.5px; color:var(--ink3); line-height:1.35; margin-top:1px}
.pushrow .btn{flex:none; padding:5px 11px; font-size:11.5px}
.pushrow .iconbtn.x{flex:none; width:22px; height:22px; font-size:11px}
#chatlist{flex:1; overflow-y:auto; padding:4px 5px 10px}
.chatrow{position:relative; display:flex; gap:9px; align-items:center; padding:7px 8px; border-radius:var(--r); cursor:pointer; user-select:none; touch-action:pan-y}
.chatrow:hover{background:var(--hover)}
.chatrow.on{background:var(--active)}
.chatrow .av{position:relative; flex:none}
.chatrow .body{flex:1; min-width:0}
.chatrow .l1{display:flex; align-items:baseline; gap:6px}
.chatrow .nm{font-weight:600; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.chatrow .tm{margin-left:auto; font-size:10px; color:var(--ink3); flex:none}
.chatrow .l2{display:flex; align-items:center; gap:5px; margin-top:1px}
.chatrow .prev{font-size:11.5px; color:var(--ink2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1}
.chatrow .prev .who{color:var(--ink3)}
.badge{flex:none; min-width:17px; height:17px; padding:0 5px; border-radius:99px; background:var(--acc); color:var(--acc-ink); font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center}
.badge.muted{background:var(--ink3); color:var(--bg)}
.pinmark,.mutemark{font-size:10px; color:var(--ink3)}
.avatar{width:38px; height:38px; border-radius:50%; overflow:hidden; background:var(--bg3); flex:none}
.avatar.sm{width:28px;height:28px}
.avatar.lg{width:64px;height:64px}
.avatar img,.avatar canvas{width:100%;height:100%;display:block}
.emptylist{padding:30px 16px; text-align:center; color:var(--ink3); font-size:12px}

/* conversation */
.convhead{display:flex; align-items:center; gap:9px; padding:0 12px; border-bottom:1px solid var(--line); height:52px; min-height:52px; box-sizing:border-box; background:var(--panel)}
.convhead .nm{font-weight:700; font-size:13.5px}
.convhead .st{font-size:10.5px; color:var(--ink3)}
.convhead .right{margin-left:auto; display:flex; gap:2px}
#msgscroll{flex:1; overflow-y:auto; padding:12px 14px 34px}  /* smooth removed: it animated every programmatic scroll -> send jitter */
.daychip{display:flex; justify-content:center; margin:10px 0 6px}
.daychip span{font-size:10px; color:var(--ink3); background:var(--bg2); border:1px solid var(--line); padding:2px 10px; border-radius:99px}
.msg{display:flex; align-items:flex-end; margin:1.5px 0; max-width:min(72%,560px)}
.msg.me{margin-left:auto; flex-direction:row-reverse}
.msg .bub{position:relative; padding:6px 10px 5px; border-radius:12px; background:var(--bubble-them); font-size:13px; word-wrap:break-word; overflow-wrap:anywhere; min-width:60px}
.msg.me .bub{background:var(--bubble-me)}
.msg.first .bub{border-top-left-radius:5px}
.msg.me.first .bub{border-top-left-radius:12px; border-top-right-radius:5px}
.msg .metaline{display:flex; align-items:center; gap:4px; justify-content:flex-end; margin-top:2px; font-size:9.5px; color:var(--ink3); user-select:none}
.msg .ticks{letter-spacing:-2px}
.msg .ticks.read{color:var(--acc)}
.msg .quote{border-left:2px solid var(--acc); padding:2px 8px; margin:0 0 4px; font-size:11.5px; color:var(--ink2); background:var(--hover); border-radius:4px; cursor:pointer}
.msg .quote .qn{font-weight:700; font-size:10.5px; color:var(--acc)}
.msg .fwd{font-size:10px; color:var(--ink3); font-style:italic; margin-bottom:2px}
.msg .body img{max-width:min(100%,440px); max-height:380px; object-fit:contain; border-radius:8px; display:block; cursor:pointer}
.msg .body audio{max-width:230px; height:32px}
.filecard{display:flex; align-items:center; gap:9px; padding:6px 8px; background:var(--hover); border-radius:8px; min-width:170px}
.filecard .fi{font-size:19px}
.filecard .fn{font-size:12px; font-weight:600; word-break:break-all}
.filecard .fs{font-size:10px; color:var(--ink3)}
.linkcard{display:flex; align-items:center; gap:8px; margin-top:4px; padding:6px 9px; background:var(--hover); border:1px solid var(--line); border-radius:8px; text-decoration:none; color:var(--ink)}
.linkcard .dom{font-weight:700; font-size:11.5px; color:var(--acc)}
.linkcard .pth{font-size:10.5px; color:var(--ink3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:260px}
.reacts{display:flex; gap:3px; margin-top:3px; flex-wrap:wrap}
.reacts span{background:var(--bg2); border:1px solid var(--line); border-radius:99px; font-size:11px; padding:1px 6px; cursor:pointer; user-select:none}
.reacts span.mine{border-color:var(--acc)}
.msgact{position:absolute; top:-26px; right:0; display:none; gap:1px; background:var(--bg2); border:1px solid var(--line); border-radius:8px; padding:2px; box-shadow:0 4px 14px rgba(0,0,0,.25); z-index:5}
.msg:hover .msgact{display:flex}
.msgact button{width:26px; height:24px; border-radius:5px; font-size:12px}
.msgact button:hover{background:var(--hover)}
.sysline{text-align:center; font-size:10.5px; color:var(--ink3); margin:8px 0}
.timerdot{font-size:9px}

/* composer */
.composer{padding:8px 10px calc(8px + var(--safe-b)); border-top:1px solid var(--line); background:var(--panel)}
.replybar{display:flex; align-items:center; gap:8px; padding:5px 9px; margin-bottom:6px; background:var(--bg3); border-left:2px solid var(--acc); border-radius:6px; font-size:11.5px}
.replybar .x{margin-left:auto}
.comprow{display:flex; align-items:flex-end; gap:6px}
/* the pill: one rounded box holding emoji + textarea + attach + camera. It is
   the flex:1 element, so the text field gets almost the whole width. */
.inputpill{flex:1; min-width:0; display:flex; align-items:flex-end; gap:1px; padding:2px 4px;
  background:var(--bg3); border:1px solid var(--line2); border-radius:20px}
.inputpill:focus-within{border-color:var(--acc); box-shadow:0 0 0 2px var(--gold-soft)}
[data-accent="blue"] .inputpill:focus-within{box-shadow:0 0 0 2px rgba(12,127,251,.16)}
/* textarea sits transparent INSIDE the pill - the pill is the visible box now,
   so strip its own border/background/radius and its focus ring. */
.inputpill textarea{flex:1; min-width:0; resize:none; max-height:110px; min-height:32px;
  padding:6px 4px; border:0; background:transparent; border-radius:0; line-height:1.4}
.inputpill textarea:focus{border:0; box-shadow:none}
.inputpill textarea:focus-visible{outline:none}
/* icons inside the pill: borderless, no hover box - they read as part of the field */
.pillbtn{flex:none; width:32px; height:32px; background:transparent; color:var(--ink2)}
.pillbtn:hover{background:transparent; color:var(--ink)}
/* the outside circle. Mic and send share the same footprint; JS shows exactly
   one at a time (mic when the field is empty, send once you type). */
.micbtn{flex:none; width:38px; height:38px; border-radius:50%; color:var(--acc)}
.sendbtn{width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg,var(--acc),var(--blue-soft)); box-shadow:0 6px 14px rgba(12,127,251,.28); color:var(--acc-ink); font-size:15px; flex:none; display:flex; align-items:center; justify-content:center}
.sendbtn:disabled{opacity:.4}
.spendhint{font-size:9.5px; color:var(--ink3); text-align:right; padding:3px 4px 0}
/* The sentence must stay ONE flex item, or the flex container splits it into
   columns at every inline child - that is what used to chop this banner into
   "First messages to a new | 1 credit | until they reply". Text in .nctxt,
   dismiss button beside it, nothing else directly in the flex row. */
.newcontactbanner{display:flex; gap:8px; align-items:flex-start; padding:7px 11px; margin:8px 14px 0; background:var(--gold-soft); border:1px solid rgba(255,204,22,.45); border-radius:var(--r); font-size:11.5px}
.newcontactbanner .nctxt{flex:1; line-height:1.45}
.newcontactbanner b{color:var(--gold)}
[data-theme="light"] .newcontactbanner b{color:#8d6f00}
.newcontactbanner .ncx{flex:0 0 auto; width:20px; height:20px; border-radius:50%; font-size:11px; line-height:1;
  color:var(--ink2); background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center}
.newcontactbanner .ncx:hover{background:rgba(0,0,0,.08); color:var(--ink)}

/* menus, modals, toast */
.menu{position:fixed; z-index:60; background:var(--bg2); border:1px solid var(--line); border-radius:var(--r); box-shadow:0 8px 28px rgba(0,0,0,.35); padding:4px; min-width:170px}
.menu button{display:flex; width:100%; gap:8px; align-items:center; text-align:left; padding:7px 10px; border-radius:6px; font-size:12.5px}
.menu button:hover{background:var(--hover)}
.menu button.danger{color:var(--danger)}
.menu .sep{height:1px; background:var(--line); margin:3px 6px}
.scrim{position:fixed; inset:0; background:var(--scrim); z-index:70; display:none; align-items:center; justify-content:center; padding:16px}
.scrim.on{display:flex}
.modal{background:var(--bg2); border:1px solid var(--line); border-radius:18px; box-shadow:var(--card-shadow); width:100%; max-width:400px; max-height:88vh; overflow-y:auto; padding:16px}
.modal.photo{max-width:min(92vw,1100px); width:auto}
.modal h3{font-size:14px; margin-bottom:10px; display:flex; align-items:center; gap:8px}
.modal h3 .x{margin-left:auto}
.modal .row{display:flex; gap:8px; align-items:center; margin:8px 0}
.modal label{font-size:11px; color:var(--ink2); display:block; margin:9px 0 3px}
.modal input[type=text],.modal input[type=number],.modal textarea,.modal select{width:100%}
.btn{background:linear-gradient(135deg,var(--acc),var(--blue-soft)); color:var(--acc-ink); font-weight:700; font-size:12.5px; padding:8px 16px; border-radius:10px; box-shadow:0 8px 18px rgba(12,127,251,.22)}
[data-accent="gold"] .btn{background:linear-gradient(135deg,#ffcc16,#eab900); box-shadow:0 8px 18px rgba(255,204,22,.25)}
.btn:disabled{opacity:.45; cursor:default}
.btn.ghost{background:var(--bg3); color:var(--ink); border:1px solid var(--line2); font-weight:600}
.btn.danger{background:var(--danger); color:#fff}
.btn.gold{background:var(--gold); color:#231c00}
.btn.wide{width:100%}
#toasts{position:fixed; bottom:calc(16px + var(--safe-b)); left:50%; transform:translateX(-50%); z-index:99; display:flex; flex-direction:column; gap:6px; align-items:center}
.toast{background:var(--bg2); border:1px solid var(--line2); color:var(--ink); font-size:12px; padding:8px 15px; border-radius:99px; box-shadow:0 6px 20px rgba(0,0,0,.3); animation:tin .18s ease}
@keyframes tin{from{opacity:0; transform:translateY(8px)}to{opacity:1}}
.keybox{font-family:var(--mono); font-size:10.5px; background:var(--bg3); border:1px dashed var(--line2); border-radius:var(--r-sm); padding:8px; word-break:break-all; user-select:all}
.pill{font-size:9.5px; padding:1px 7px; border-radius:99px; border:1px solid var(--line2); color:var(--ink3); text-transform:uppercase; letter-spacing:.05em}
.pill.off{border-color:var(--gold); color:var(--gold)}
[data-theme="light"] .pill.off{color:#8d6f00}
.pill.live{border-color:var(--ok); color:var(--ok)}
.emojigrid{display:grid; grid-template-columns:repeat(8,1fr); gap:2px; max-height:190px; overflow-y:auto; padding:4px 0}
.emojigrid button{font-size:17px; padding:3px; border-radius:5px}
.emojigrid button:hover{background:var(--hover)}
.settingsec{border-top:1px solid var(--line); margin-top:12px; padding-top:10px}
.settingsec h4{font-size:11px; text-transform:uppercase; letter-spacing:.07em; color:var(--ink3); margin-bottom:6px}
.kv{display:flex; justify-content:space-between; align-items:center; padding:5px 0; font-size:12.5px; gap:10px}
.kv .k{color:var(--ink2)}
.switch{position:relative; width:34px; height:19px; background:var(--bg3); border:1px solid var(--line2); border-radius:99px; cursor:pointer; flex:none}
.switch::after{content:''; position:absolute; top:2px; left:2px; width:13px; height:13px; border-radius:50%; background:var(--ink3); transition:all .15s}
.switch.on{background:var(--acc); border-color:var(--acc)}
.switch.on::after{left:17px; background:var(--acc-ink)}
.segrow{display:flex; gap:4px; flex-wrap:wrap}
.segrow button{font-size:11px; padding:4px 10px; border-radius:99px; border:1px solid var(--line2); color:var(--ink2)}
.segrow button.on{background:var(--acc); border-color:var(--acc); color:var(--acc-ink); font-weight:700}
/* settings tabs: three equal pills above the panes; panes all render, two hide */
.settabs{margin-top:14px}
.settabs button{flex:1; padding:6px 10px; font-size:12px}
.setpane{display:none}
.setpane.on{display:block}
/* the first section inside a pane sits right under the tabs - no double rule */
.setpane .settingsec:first-child{border-top:0; margin-top:6px; padding-top:0}

/* onboarding */
#onboard{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; padding:16px; background:linear-gradient(to bottom,#ffffff 0,#ffffff 200px,var(--blue) 200px,var(--blue) 224px,var(--bg) 224px)}
[data-theme="dark"] #onboard{background:linear-gradient(to bottom,#10294a 0,#10294a 200px,var(--blue) 200px,var(--blue) 224px,var(--bg) 224px)}
/* ---- sign-in: the opening choice ----
   Two full-width buttons so neither reads as the "small" option; the ghost
   second makes the lead unambiguous without hiding it. */
#obChoose{display:flex; flex-direction:column; gap:10px; margin:16px 0 4px}
#obChoose .btn{height:46px; font-size:15px; font-weight:700}
/* ---- show/hide eye, one per password field ---- */
.pwwrap{position:relative; display:block}
.pwwrap input{width:100%; padding-right:44px}   /* room reserved so the icon never reflows the form */
.pweye{position:absolute; top:50%; right:6px; transform:translateY(-50%);
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  border-radius:8px; color:var(--ink3); cursor:pointer; padding:0; background:transparent}
.pweye:hover{color:var(--ink); background:var(--hover)}
.pweye svg{width:20px; height:20px; display:block}
.pweye.on{color:var(--acc)}
/* ---- the one place password problems are reported ---- */
.fieldErr{margin-top:8px; padding:9px 12px; border-radius:9px;
  border:2px solid var(--danger); color:var(--danger);
  font-size:13.5px; font-weight:700; line-height:1.4}
input.err{border-color:var(--danger); box-shadow:0 0 0 3px rgba(217,54,79,.18)}
/* ---- the stop before an account is created ---- */
.obWarnBig{border:2px solid var(--danger); border-radius:12px;
  padding:14px 16px; margin:4px 0 6px; font-size:15px; line-height:1.55}
.obWarnBig b.lead{display:block; font-size:16px; margin-bottom:8px}
.obWarnBig .hl{font-weight:800; background:rgba(245,199,17,.24); padding:1px 5px; border-radius:5px}
/* at note size a highlight shouts - bold alone carries it */
#crWarnNote .hl{font-weight:700}
.obcard{width:100%; max-width:430px; background:var(--bg2); border:1px solid var(--line); border-radius:22px; padding:22px; box-shadow:var(--card-shadow)}
.obcard .hd{display:flex; align-items:center; gap:10px; margin-bottom:4px}
.obcard h1{font-size:19px; letter-spacing:.01em}
.obcard .tag{font-size:11.5px; color:var(--ink2); margin-bottom:14px}
.obcard .tag b{color:var(--gold)}
[data-theme="light"] .obcard .tag b{color:#8d6f00}
.obtoggle{display:flex; gap:4px; margin-bottom:12px}
.obtoggle button{flex:1; font-size:11.5px; padding:6px; border-radius:var(--r-sm); border:1px solid var(--line2); color:var(--ink2)}
.obtoggle button.on{border-color:var(--acc); color:var(--ink); background:var(--hover); font-weight:700}
.savekey{display:flex; gap:8px; align-items:flex-start; margin-top:9px; font-size:11.5px; color:var(--ink2)}
.savekey input{margin-top:2px}

/* mobile */
.backbtn{display:none}
@media (max-width:760px){
  .side{width:100%; min-width:0; border-right:none}
  .main{display:none}
  #app.inconv .side{display:none}
  #app.inconv .main{display:flex}
  .backbtn{display:inline-flex}
  .msg{max-width:84%}
}


/* ===================== corporate chat canvas ===================== */
/* Paper-light canvas with the ITZA pyramid scattered as a watermark - clear
   contrast: white bubbles for them, gold-tinted for me, navy text throughout. */
[data-theme="light"] #msgscroll{
  background-color:#e8f2fd;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22500%22%20height%3D%22470%22%3E%3Cdefs%3E%3Cimage%20id%3D%22p%22%20href%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAGAAAABNCAYAAABZqmHQAAAw40lEQVR42u29d7RlV3Xm%2B1tr733OPjnee24OlZNKQiohBEglEQy2wRhsydhuYwM2brfbaTj79Wip2s9%2BduMO7kAbN9HYIKtAEhIIA4JSCZSzVCVVrro5nZz22WGt9f64Ij083CQJMR7rrzvOuOnMb865vm%2FNb%2B0DP6DLGOQ%2F9%2FUP1wsS%2FOssgMHKW%2F54sPHzP%2FH1r%2F1wPc%2Frkfde5gB4j179LtM%2FaKL1lw2Cx15%2F%2BQ9BeCEy%2F8hBG2DwwFVvip69XKvonYGJ3mqi45cs9h%2F5hSkAc%2FMPQXhegx8887NXho%2Ft81T%2FOh2Fv62V%2BrXIDN5kwicvfsKYx%2FOblXDDD8yeYP%2Bg9HwhDkfe6T%2FaJlqf%2FYS9fdaNYiNayqyUYsPS8ZHI3hJdHD7567caY36UG0VgjBFCCPNif28v%2BkwxN19nCXFYmd5Hx2LhPXfaU7lRlRpVlozJ6OytdI4%2FhCS0VWI0ckZT16jF139M%2FGlCc1hIY4z4IQDfVebfIMX1h5Uxt5RU428%2FI0eC7VFuTAkrY4WP34PwXJr3PkXziWNYlrBV4eWhlW7%2FZLj6ur8R19uKu6%2BxED8E4DsMvhFwCGPOu6p%2Fxy3WeGm%2FSmyLrNi05T%2F8OIO1s6jhncTihujxx%2FAW%2B0hnq6PiPx7Z7plfDTu%2Fe6O49mhk9EH7hwB8%2ByJLwPVSCKlV7y%2F%2FwUpuuzqKfjMS7p%2FYaqMH9SNYO7YRra9x%2FoJhoCI4cydBI0IkdlpKXB7Z6sgNQe%2FPflWIo5ExN9g%2FBODbWgctIQ6rsP9v%2F9pKNd4S9e6KpPWUDS5S%2FRNqcjvIKZQpMzpmWFgR9KoN5MZfo7snBOm8paJRZfmffU8Yvu8nhDj0ogVBvviy%2F6AtxNEoaP%2FqH9uJud%2BMehciGWvYYvBF1BOvQKPxOxmEJbAKeYoVw%2FAIrK9YtM8%2Bib%2F0D%2BiuEZT2CeMbITt%2Fd1NgDl%2BxCcLN1g8B%2BJc3XVuIo5Hf%2Bq23OWLlz1X92UjKDUuYaVqffgAVKYJGklQljR3XaG%2BRZhtSWYEVM8w%2F4eCfP0H32c%2BBvyRN6WVG9HoJq%2FXhWzxzZEaI69WLTS3LF1fmH4o87w9eZ8sL71etR5URA0smJsSpDz%2BCcgcEdpHqhYh4eRxMCh2lUF2Q2qC1QTgRG6ckVvUZGk8fRcq2VMWXKNk%2BPua0%2F%2FoOY5pFIQ6rF5NQky%2BO4F9nbW6W%2F%2B1ip3viZrVxj2WynrALiOP%2FuIQftige2EJ9zWbk0m0ELQ%2BvHRKFDpkxwDbki5JUztBVmoVnJfbieepPP4WdtKwo%2F8rIaj2xT%2FV%2B41ZjTGyTXb04NML3HYCbnxNaffNXk6pz7%2B2sfCkrdEPbKSWX7%2B7RfuYCO68q0rrQpThWwPQHBL6mtdQgntBEXYgiyBagOGRhQgiUoVsXeI8%2BQvPsAnYmZYexSyKrdfTqyP%2F1vxPC0nD9i0Koye9v5t8gr7vusF5bO5Z2eo%2FdIueOTEVWQ9lZx9p4XHPuC01e8uYi9VVDqjJMNNBEChwrJDdkgRTYeVCWpNmGdgPKZUk6Jxg4YFkR9c99kd7aMk5lwg71jshuff5nlLrhr4U4rOAa6%2F%2B3AGxy%2FUPi8PVGlrO%2F9zHbPHggVOtRPGdZvQXDmTv6XPbmUZbPG0KRRjoO6ckhgmaPcGCT270Nodp01kB5htVzGq0MritIZw21FYM1boPxWbrtKKEXYk9M2FGvF8nGx38z6L%2F7j18MGuH7AoABscn1Udf979f8jVx%2B%2Bg0bnzobSce2tXA4eSfsedUQxopjJ7JM7MgTKAsjHZobHu7IMKo%2FIFRJcgVIpiBdALeoqbcUOoTdFwk6LUX5cklQb7F8%2B%2BfRUQ45Mmup9nzkeB%2F7c9%2B89xe%2B3xrh%2BwLAo49cZgtxNDLdH%2Fn34dLcLz%2F6%2FqUobEnbTkkaD1iMzwqi0MerB2Sygo0Lbax4nNaFKqOXX4Qdd%2Bgtd4h6hvPnBXYMCkWBYyDQQFLQaUhKOY3yNdltFvUnz1H9%2FHFk4heEmfxFS3uPKbv64fd73gde9%2F0EQb7wreegfeDAo6Hx3vguvbp86PGPnY0KJcseuUhw7AvQWvKIjyVYPhthJQqIWJ64a9NdWCZRsPCWFvDWmxgVkXAtRmZACYinDf0BpF2IZQ3Kgu6qRWfOEPQUuT0W1YfvovHkM9j264Qu%2F5igfZ8TC2662Tc3Xfr9EmryhQ6%2BEEcjE17%2Fxv7i0t8cv%2B2Empw01pYrDcdOOqyeDYmNWnS7MXKjBZxkAkQMbSRKOyTKFeL5POiQRCWDTiQRgQFl6LYNuSHIpWHjGQhThlQBbEfgZsFJaURZMnfLe%2Bievx07npGqlNSy%2BsWs1T78yb75wvSmUHthNcIL9seOHHku%2BMG7rqBX%2Fdjn3vMMnXokRq%2BSYq4jOPmgzxUvh8aGxrIlQzNFglDgDRQhSWL5Etq3sVMZascXsIvT2I7Cihn63U0GRBwSk4KhcfBXDL2MQETgxsFEhsyEIb9NcfL9H6I318RJp2UURsqqfnoi7r339nr9vTk4ZF5IEOQLk%2FnXWddeezQyrV%2Ffgeh88kv%2F%2B6lUc2FgYo6UG6uCR%2B4wHHyNpNu3mNyeRqIZDCKUCumvt8hWsriZOE4pS%2BN8jdLlFyH8FjqKkZkQpIYFyQx4LfB8SA1JxkoGK5KkL4rRXoS4C27MUJyWuOUBZ%2F7uIYL2MHJ2nxWlhiIZ3LU%2Fmzp%2BM3zlGPyF0Qjy%2BQ%2F%2BDVKIw8osvaFM1rvtwqcerjSfqKoto8jkmOD%2Bz2iueY1FrWbwjUtmOE0sV8IWAltEjOwZpre0RjTo0V1YxHEFiVwC1c%2FTWZxn47yhMGWRHpZEPvQ2QGFodgWxIMKvhrgFgeqDUVBdUkxeZiFkg%2Fpnu8jYl6DyW3a0Xo%2Bs4L4fifSffEAInhNqz%2F84Rz6%2Fwd98A%2BaD064e23ILp0%2Fsds%2BfiV719pR1xb8aor0Ol75EIl2BEg6T2%2BK0OzGS2ThnHlkjVRlGOimcXAFvrQmRJD1cJKp3sXITpAppEgXodzSREThJQbkC7XXIVwSmZ1g9bhgYQzgQhJ5FelTQiwyVA5La%2FAXqn3s7dvgRpIsdnn4ksr17ftH33%2F3uTaF2g%2FUDC8Bm8A9aQhzS%2Bq2v%2BTu5cuaq1n33RcMzwk7tn0COzTIzpihWBI01zda9cbp9i%2FzEEIvnPcYPzGLFHPxuRBg6GJFGuimc3BAiUUE3niI2vIPMkKC5bEjEIFvcpKQrS4b1DU1uVJIsCIQEk4RBHUQksISg29IMv0Jw9MO3ceG2ZeREBWxh%2B1%2B%2BN4rF7vm9YPBnvyXEoeiRR97l%2FIBWwEFLiKNR2P7J%2FyLV6nXVz98ZaSXsICZY%2B8JZWl98CJOE1TlDccyhti6AOP16i1TRYWgiT9DXtKp9AOyUSywdY1BtEfXaeKuLaO1gJyXxguHMSY2TgkBb7L8CDALPh2xB4NrQ7xjcUUWvKggHkMgIXAcuf7vFgx%2BvMffFDM5sEVnA6n7xU8qxnvqvfv%2FPf%2BbAgb8Nn0%2BNIJ%2Bf7H9uqDJ4y%2B%2Fa6dO%2F3bjjzsj0sCMNZxds5p%2BN6ESS%2FsCiH1m4aZvCWA5lJJGvSSctFp%2BcI%2FAGCNVHioj0WBkdCfrVDioAmR5Dyjb9mmJ4O4xtMSyeM1gxw9KiTb7k0G0apK0xGtyYAClI5zVCa0b22NQWJfkSXPVrNrf%2Fx3MsnZrC2VUU3qKRtc%2FcqWOJuQ%2F36394tRCHoq%2F4kl70AHxlqGKid%2F0rx17%2Bq4W%2FfSZSdazUVBxGx2ksadIjkq5nUMqQzyssJ03gRZx%2BokVuYhilYwztrGCiPoXJArYraJ6ZR6kBYW0RKXokpkoMWh10BI1zgnxZ4gDdNUV5RJMfgeEJTS5nyA3DyFaBUYKeZ8jkBZ11GN7lsHhKUt7i8spfcvnoHz1Dc8VQutgSarmD9%2Bg%2FxROF6BOD5XfuFtcejZ6PYY783gf%2FUBSG%2F8%2BrsFY%2BcNefParOPy2txAgieWACr6WZmY2wLAsCST4PuaEEdiLB4rzHvqtn6FZ97GyK7lqXlWcbZGZGMNIht20CEQZkd02gVEiwuABOGr8HiRxooLIFtITWmiJohfRbgtPHBVEARkkMkngROoEh8AwiZrP15VnWz8JL3lxk%2F0HBh%2F64STjkULosJjvH5lTv8afK8dH%2Bba0Hx0qbw5zvbczk9y7411lCHIo6q3%2B837Yf%2F8T9%2F%2BNLzrnHI5HJGUFCcuaOBWxvmQBB0lUUhiS9voW0LJobHca3ZojFLULjkChkaax6zBzcQ2%2BxTqKUoXthnv5ak%2BT4FLGERKZSSH%2BVWExCIGgvGzo1AyGYCPyBIZYRpIcsTp0SCKFJZwyxuEAHYISDDgTdtYBs0bD2QINX%2FXycka027%2F29EDkBuR2OVTv6xShabO7IvnTq1vmbJxJfz%2B5eNAB8hevPn%2Fy%2Fx9OVhTue%2Bshd%2BSO3NNX0qJATOwxffsAQtQN8KTl3RpApCOy4IZuzqS356BDwFQvHl3EzktZSjZF9U9iWRMRjCFvSaXjkL9qC6lSJIs2gukLr5Am0gep5Qz5ryGQFoQI7CdqAdGBil2HrPkm9ocmXDUEP0gWJm5Y4jkCFAqTEbyhqZ31%2B6t%2FEsIF%2FeLciPi3JDGn79E1fjmgVrpp8Y3xTI9yN9b0CQX4vgg%2BHzLNfvi0zuePUbYt33Tf16Q%2FWVTwtrXTZcGxZEg81lUnB8qJh7z6DiiSDnqA%2FgL4Hbj6DnUgwtnuEsN3DQqN7HZpzq7ilLJ25GkMX7UBKC7%2FeYdCJkOk0IjeGHRf0GjB%2FGmQoKI9JjBHUNwStKnhNQ8zSZEuSbt%2FgJgVYFm7ecPJ%2Bn9x4AmQSZyiBSNjUlwW%2F%2FKcp1s5LbnmvIjFkYUUd%2B9zfPxIRJt9q6jv%2Bo7hWRI8%2B%2Br3x1crvLvhGwCEhhGHXK275WPOJLx%2B45b%2Bci%2ByUsAo5TVVLWvOG7bOwsmiolAyOBWEEzS7ImCSZS6MiRbKYZP10Fa%2BlyI4NYYxDIp%2Bmc%2BYC8bREhh7h2gqh7xHVqkiTID0zQ9BTbN8nUKGkUdVIpUkkDemEQGLQyjAIwMkJqgsQITbbkHIoTsQ491iHVE4Si7nE0i7dmqG1EvLOP03wwGcjPn%2BPJj9iM2hu2E9%2FcC7C7f9%2BtLT1tw4cIDTmuwfhu6wAYQkhlRm85X%2BGp7%2Fw4x%2B58VzkC2Hn0obMiES0NS%2B5WLNWkyRcSaRgowbGKKQxxB1BYVgSS7gEfU3XiyhvK9NeaWOMzaBl6G74uMPDGAUimcOJ2cRyCZy0i2puYLnQjQwjFVChwPchCAWFEYMlYOmcoTxpkFJjlyTGtmmsGyJPM74%2FS2kyR201JDeeRoc22aKDCgXZTIJ33TDE5%2F%2FJcK4D0zskpta2Tv3DmrJSjf8arl3zU0IQGfPd0VP5nWf%2FQVsIItP5qRvVmXt%2F7X%2F90VKEJe1iFsa326i24dK9hhNnwA8hlRNYCYtiWeD1BRNbYvhBRLMeEEvYVFfabDswS9TTKCPpDwwimcLK5xFhSKxUJqx1sBJFUjt3EXXrWIkUti2QcQlpQ6IIG0sWrgvGCBwXBl3ByhzEY4Js0QIj8QcaZQJaKx7JtI1jFP16Gx0IYvks5e1jzD%2Fms%2B3qAr%2FyJyU%2B%2Fo8RJ1dgeNwSy8%2BE8vSnWtpOnfhIsPZjLxfi6HelEeR3HvyjUdR4%2BztZveeGD%2F3FeiS0tEpJzfbdFnZkeOluQ9sDJwZbpqDRgnzWcPK4IV2yyAzbxJMOcQzrZ9bJlSTNhRq%2BH2GiANFrIvEojqcxlkPkB3QuLGIXchgvRKaGMH6b2sJmcDMjEi03D%2BIa65vKF2D%2Fy6CzAQNf4yYU8SRIBZFnMEFEbb6D7Ur6Kz7poSS2GyeKLGQyxZm761z0phI%2F%2BQt5PvD3mpWBIJeXYulhzfo9Gwknc%2Bx2v%2FZv9n43GkF%2BZ1z%2FaOQ1f%2BP1lr77vXd9aE2pgbAmy1rMbBV0u4qhmMJxBd2OYMsktDqGUt5QrxnKI5JixabTCFAR%2BJHCyDiJbAalFGgPxw5JlSwSOXvzCmQqRf3UHPmXH8D4PmHHo7e0ipNO0q4ajj%2BqkRa4aUGyuDl0XlsyCAmtlmFqC%2FQboENDd1VRms4i7Cw4FhMXZ4mUg2%2FH6bV8Bl1NONBMvbJCspRh5aEer%2FzlEV79%2BjgfORyRKNoMlZAbj6KCM%2BulWOqu27sXfnv0OzV8ye%2BE6%2Ftrv3yJK%2B46%2FNjh8%2FL8aSmGckZMzUoCx2YiZ7DjsLEB%2BRxU64IwgDAy9H3B9j2Sfh%2B8tkZLIO6QKLgEHri5LM3lNoFOkRybprvUIgoU%2FbllsqN5hBqgvQ7tlRWka9NdWGXvQUl%2B1HDuGUM8AdmcJJmzsaVERYZmVVCvCZI5Qb8Fo7sN8azETSdYPhnR6ynS5RiJXBKjNZ31Jk5c0L7QYGg6hutC%2B9kub%2FrVAnt3x7jpUyHZEUEsZqzO00FEdWFLonTk1qVHHknCIcwN3x4I3%2FI3f8VAtXL%2ByExs2HzqwU%2BcSn%2F5U8Ikk8hsSeBmBQWtCDXU2gKFwbYhnYZ0RtDpQCEHy0sGoRTttiHsadL5FK5r0etGaDuOSKawkwl0KImXyvQWqxhhIR2X5lPPEvltrKiO6XdIb91PY9kws0%2BQLQG2QdgapQ3js5vH0uUyJDNg2YbGnGF9QWO7HsIx7Lh6nLUTAcK2yQ1ZxDNxHK3w2330IKJxpo6bcujMd%2Bm1De%2F8yynSSYvDnzfkKwKJsPtPepG0WldULrrxYwhjuPGQ%2BHY0gvxWuf51192sn%2FrUzxVGZp6448w9z47f849KZfJCJhKQHxKktKGPIdLgWJCIg4pACsPSimF8qyRZjoGQtGoGN2bhpmNIDEbG6LV9oq5HupgkmYJetUng%2BQRKQiyOQVC8eB9SJshOjZIcySI6J6Bn2DhjURiyWDslcGxNaUrhuIZWU9BqQBQK%2Bm3Y9ipBt2bwOiAsTeQLxnYV6K0G%2BO0A1YsY2juGsF3cfJb87DihL%2FGFy6Bj0VpT%2FOZ%2FH6e6rrn1S4Z80eC4wh48sRRZsaWfiDqveY8QKDhofc8A2ERzrzgshLzox%2Fcfrp26Z9%2Bn331fVCxKK24bShUI6jDA0G4apBHksmDbgmTSUG0IRicFoQa%2Fq7EQtJowuj2DjFu0GwK%2F14PAI561yJRSGCNpb7RACOKFHLZUWMk4QbPLxuMncSfGkKkYsrCNTEFgmobmSc3GArRrFt2WIVaEVAYsaei1DNKSeB2b6Uti%2BB2FZRvaC03CnsLJWBjhUNg6hJN2ENLmzH0LYGmcZIJ0MYMygtqFFsaS%2FM5%2FKnP8Yc1NnzY4ZYFUoT149ERkp61%2FHTXf8O82DV%2FfGjOS35qB6np1Xfi7Hwhqy6%2F%2BxA23RcWCZRddw%2BgY5FzJxFZotwzDBUFkoNsH193s%2F4WyoDws6Teh29JYSYmyYxgglkwyPJkh6Bkqu8YIOz610yt4vS6630JKRX6qDMImlitQO7tO4aX7UZ6H6gd0l%2BeZOyfIlxQq0NjGIF1YnRP4fUNluwBbEDYNhBbdBeisWSTSLu35kMK2PPFCEieTY%2BmxKq21LiBIDceYvnKSs%2Fev4KQlmZEY6WISW0H9ZIN8WfJr%2Fy7JkbsMn77VEBuyMRue5T3xVGTlGn%2FqL%2B57x7cKwr9YKjc%2Bcpkjxu%2BPTOOtf4aT%2Frcf%2Fs2%2FjaKOsisFuOgKQT4nKZUNx45r4haUKxKtBToCP9qkoMm0IAohCqHtCWwbKhMxgiCiMF7k1INrxIslitMjSGGTHMrgtwakxisIpfCWV0mMj9Bfa2EnY%2BQmRwibHt21AMeOs%2FTsMYJQMzEr8DvQWjUEHlgIhJFgDG5O4GQM6UqEljG0SFJdENgCRMwC6TC8t8T8Y1VS5QSWBDdrIy2HoDfAKE1vvU1hIosdM4R9n4mrXcZzAX%2F%2FHs3QMMzuskTvRFuEvb5O7nHf9EdvHX%2FAGXrotDmCfejD6G8bAGMO2mL8%2Fsg7e9mv2aPpv7j59z8ZZb2OvXW3pFgSzLzMJpUSLJzWDDyYnBB0PYtuW6MMCEswOSXpdjeBwBhsWzI8GUeFmuJMnuqSwjhxJi%2BeoLPUIVFIsvDAOdJTo%2BS2jBH1fGLpFMFGFVSAk3LxN5rIdJHu%2BTUSeZtM%2BBSdjsBoMPbmKWipBN2uBLPZgoZ2Qn3O0GtDaZsi9BwUMRKFBO3lPm6xiBWLkS6n6Fa7SEdQO7GGmwAhJI4ryAyl0FIQSzic%2BmKDZE4ze41NFsP7%2F5tiYliTc4W4%2F5N9ZNISw5cFb%2Fqda8Y%2Bn3hVdckYrEOHMN8yAOYItpidi3qf2fGmxI72h2%2F6y6f0ykMd63Vvjoldv5IlnIsYdDT9umZlCabGQRmLesNgO8%2FZxdMCKyFIp6HZEpTGLdIFi40VjWVJhHTwBzCxq4LX6pMYzlJd7KHdBMP7p%2BnO1zHEUV0Pr9oht%2B8i%2FNUGGINq14g7EcLdgjf%2FAJkSdDoS1zWMbwOtBc2qIDtmcKTAAMmiYOO8xM1DqiIwvsRb72CikHjGpX6hg9%2FTOJbCb%2FTITZSIuQK3mOTC3atkx9PImIXyPUb3FZh7sofrBuw8aOOvaW76qKGYFSghxJNHemZyR%2BCW9pkf%2B42rf%2BRwaseJljHIfw6EbwLA3Iwl3oBavemilxWmF2%2F%2FzCdqzkN3hiJTsIQbh%2F5SSMpR9JuKblPgutAbSJIOrNY2N5VsGhJpi3QGmk1JowvTOyyCgSEeB68nkI4kkbWpne8gYzZOJkV1scvUFdsYrHcxysZreziZLKESuOk40nLRSiN6TdL7DqAGVdaeeJz8sMB24NgTMDYLdkJiGei3YRCAsC0yFYt0yaK%2FYfA9gVGb%2F2OmbBMNQuLpHJYdJ5FK0p1fw3ItYrkYJgxw8nGWn21RnM2gI4NlR2SHk7SWusQTEdu2S1bOGr70IOychUEgxLNfVmr3VSqfm9m49rrpv%2FiH4ZfeGdwI8tDRbwRBflPwr0edv%2FV1M5X8%2FC1Hv9BNHrnNmFxOCCdpqPUN0ZpiZVlz6pQgnwUrJkkmDJGBYgayCUMyKcjmDUob6k3NS15mM%2FAF7Zqm50t8pYnl8li2S3pyiHg%2BR2exTmU8Qe%2F8IkZFDAY%2Bfm2DsFEnM5ZF9Tq0VlbRxuAFDsQTRD2PfAVaLcgNwSVXCs6eECQLhswIDFUgaEOvpmmvaboNSIzYRG2J6UIsHydWyeN1BUbGSVfA73VRqQxGQmvBQ7o2%2BZkMY5eMsvZMg%2BRwin4tQvU7pNIxvHWLREXy9kMOwyNw1yNQKkl831gfP%2BRFBI2X7H3tuz92%2BLCR7OWbNMLXHnp0A1Jcjzr2T%2B8sToQPfvrxY53ROz8tVMI10rIFM7OC7cOaXF5zYQ4mR6A3AGkMA09QrRnKBQ2OoO8ZfE%2FTbsG2bQbhGKLA0G5DOm3IDqdw4hJl5XFiDitPLJGfrSCdBEE3JPIHyLCDm0mQ2zZKzI0x6CmkNBAMSE6Oo9tVsGKkMptir1XXFIYNQyOCjQXoNAWrq5LKXkl5VjIYaMo7NXbCQtkCnUpSPx%2FidzS28ll56DjCCXALBjft4nUNkefjNSVqoElkJfnROO1zG0gietWA9FicXk1y%2FoGQzIzkN%2F4iThjAmVXDxXsE3Q1h3%2FruKCK3%2FoY3b518n7jeUtyNtckuvw4AYxAcgjvNnfGt7dtvObvU2nP4syYqpLUlpWB0xFB2NKWi4fwcjA%2BBm4B%2BT2OjubAE2ayAmE0qs%2BnNqVchndm0G65fiDCRwnY0MpeitK2EFzpktoywdr6FWykgHAcVBLilAqraIp5yyMyO0jh%2BAb%2FegLANrSrxygjxrIuOIuxCivPPbHo%2Fgx6cfNSgfdC%2BJJGG6T0SKy5xc5LlZwSNdU08p8lWBDLy8Gua5ok2uV2jjF%2B1i5XH2sQLSXIjLrnxCqqvCNtdvFpA%2FZl5hPQImgOCTkR%2BMku%2FaihM2xjtsPiAYmiX4Pf%2BU5yzpw3VruHAJYKNOWMffd8gsgsbv%2BTdM%2FUfxLUi4sjXWv%2FmaO0wUnzc1u%2FZedffr69U3%2FDBz5iomDC2UoLt22x2z0AMzcoqOBLSaYE3gGIWzswLxiuC4WFJzzNUNwxWbNOjOTErsBOSXDmG70uSBYlMJui34hR3ztBZ7tHr9pm6cppgvUu3rVBK0mmGJCoF4sk4TiaOk4yjwxA74yKFher0iI9PE84%2Fy6B2Gm0E2ZygU5dky4JMAR4%2BahjdonBdg7E0lZ0O5x6TJJIGlEAqyE7mye4eobOsyc6O4tUC%2FE6X9FSW3moXJ25hx8FxbTJjeWxH0FiOkDELr61wMxJQVHbHWDsVEjMRlb0W48M2H31fxKVXSHIJwfFjSHwTTV%2Fau%2FYP3jxdjb2q%2BeBX6Kn1xjGc8V%2BUUf2WLf%2FZ21j5lfd8MopciS0MbNsiuOoySSKmWVo1JBJg2bBR3SwdP9w8Ch4dkYSBYX1NE4ttIluuCIQF6bzFqacVmbJLaTZHY0nhJJOE3QFRr0tlZ5GoqzDCprbUJVVIEyhBcTxL0Ogi45LVe09QunQvTiaLt7yAk3EJ6g2iZoOoPs%2FivGFqhyQIBP5A4iY0qZRmbQliLnTXIF6wkcTw2g6FcQvhFqmdspB2HLdQpju%2FTnFbibDbxPR9JBDPuCQKCU5%2FcYnsZBYpXaQj6NYjYgnBoOWRTlsEXkihZOhXFYOViNl9hlLZ4baPKg68QiIHhmNPGhG3Iz2523%2FDH7xlx2OxV2%2BcMEew5YFfFeHKR7f%2Fhre49Dv%2F6%2FYgUqGw4wImZwWvf6ckJiLmlwzrNUEqIbCkIJeC7kCgFLhxw8IK9HsGI8BgUSxIHEeSydt024IQQXlbkm4LsmMFZOTj1TqkRoaon2zRvtBAa4hFPYgixvZN0FtukpwepnGujjNawUqmCOp9EuOzhPUOAnCGRymUDYm0pNsyxJPQ9aCxKmivCUrDAoMgMWRjuzCyNwRrQHNNIOMxhg%2BUiJoDpBMRND02njqHLW06p1oIYYG0Cbs%2BU68Y4dwja2gTkEwJhqcEQadHb91j0PDZOO7TrVlkZhx6bcP6CcMrftHidT8T4%2FZbIyZ2QTFvxJE7EI8d6Ru3OP%2FR7tM%2FfrG4lsiqf3rv28TG3N%2BeWuir7kBYMWlEuSB58x%2BlsJuahacUixuwa1agELTqhgGCSEEuB6mUwBGaQSCRQK5oEwpBJi9IZGzOn43Ye2WKQKcIPE2v7iMTGq%2FnUJocQiPITQ0TtPqbp5HZLN3FGpnpCqEXMai2GL1yL95aY9NYtd7CCIHvaRKVCt1Tj5DJCbyuQG5qLzJZiZCCZtswfbnBIMA2WCkLNwfKT6A6AmMkdsrBW%2BtQmC2BsLEcm347xIrbBB44rkMi65DIJumstUkNx%2BguN5F6QMwy6EgxskUQCUgMQdA2rJ41xIRiz09bRHXJfZ%2FV7N8JWEL4njBbd%2FpxVzd%2F%2FMbfevUd1lt2Dx589KmeWG8KeelWITKuRCYtCp4i5RtMRhC3BCoCr2foDCCfF2htyGcFJoJqW7DRFGydNDTbBqMFlpC0W4rRCUEsEUcbi1Y1JFVK0G04DE1X6K61yA6nmb%2F%2FLDIeo7B7Cm%2B1gXQsjDIE1Q1yM2WUrxFG05jfIDVcxqv1ye0YRVWXaZ8%2BRWYIFs9CKmeY3rmpvse2GXr1zWlYaVrQbxiMMIT9GMJYiFgC3Yfk5CjLD68RBiGlHRW6qz2Ix4l8hbfeJD1SIOiFCBNiBiF%2Bs4G0QyRQntKcvVdhuYbCKHQ2DKWLDKXdho0nDaapiEmbVMpw2Y8JLrlUkElLce9dhJ0Fr4Dxp6w%2F%2FBHnT8NmKBcbiEfPEgUB4tyiEU8f16yubboYZmYthqYEuLC2BAltKBVBInFTgoV1wfSowbA5i5UC2j3B8IjNIICNpYhUQdCpaYyKUd46RrfWITOUJFKajaUGkwdmGFS72AmXeC6L3%2BqRGC3hrdXpz6%2FjDhfpnFtFhgMyWysksoKoq7B6zyJjgnTGcOxpKJUhmdp0P49ugaAPUQ%2F8FkSeIJ6O0TwZEk8ncStl%2FFpAeVeBlZN1tArJjWcxviKRS9BbrSGsCL8d0F1tkh0J6a2EJNKCZEnj10KK2wT1qsBNG1JlQ3tZMFi1WHvasPCkJKgpXvJSyeppwWc%2BafRDDxmdEtjbcgY7m5wTK%2B8de2uv3nvHoO%2B9OvIDeXwZztel8gJBq6OlHxgxVpZcsluw%2FzLB0E4LYWxqJwy0%2BpxbgEQGhodtWi1DqASpgqTTMey%2FIkaoDIm8pN%2BTDHoW8VKRMLBxE5CZqHDiSwvMvGQSJxFnUO%2BSnpnk1KceJTtZZuTKffTOr%2BHkXKKuh2p3kOkU8ayDnS7RrYN68oN4gUVpSNNuQrcjGN9iWF0wqBAyJQstBIUtEJHAiCSrJwyFiTRh4JIZyWG0wcnEOf%2FAHFuuKNM40yLoeqSGXPRgQGokj7QtguYi62f7ZEcSqF6H%2FFiEXZAEA8GFzymEY5h%2FRrCxIen5hjgGR2K8AK2MkdMjQmwbt5GWs27H3E%2FEx0f%2Bh3jOXULjjn2XWLXFX%2BrV%2FZ82%2FcH4ai%2Fi0Qtw6oKIWp6Qjo0sZWDLFsPegwm2Xz6LY4%2By9vQ68cZJGqs%2BgQIdt4nFBek85IckyWKSjQWfgQ%2FbXreb6uk%2BQaNLquiijUSm0uTGSnSWmqRnx2gu9qgvbLD11TvpzzUx2Pi1DpHXp3hgL7rXJVxbxi5N0Fpp03%2Fys4xul6wuCXJ5Q7cFjrt5b7hVF4xut7hwzNBVIRe9ocSglsBrBfT7KYxvyE8XEEQIDKEX4ncDUsMpBnWP3FSBYKXGxskWk6%2BbJGi28OqrBKFFTIbobki%2FCounoFaH5RWodQy9nkAY1MSoYMessaYLgqTlkE6790XpzAe9sSs%2FOXb1xzfAIMzNWDdejzkEGgSm%2Ba8LK7fc%2BhM513uHbQ9eGfQj%2BfS84fizWtdrGBtkJoYYG5Vsu3yCsSsvR%2BZLWP3TXLjvSVaeabJlhyQ7LLEyDplKkafuWWXLtVPE05N0zy9hG0Ov5ZGZKqMC6K13yEwMkZoYZuGRecYvmyLqBehQ0FrpkRkvUb%2BwxviVexBeC9IVdM%2BnfWGZ%2FuN3Ei8KGnUb5UdMbzOcPSWZ3CNIF6C2BMMzNmeORaQnHUZ2DTOoh6hAs%2FBIn%2BJsCsd16Kx0GNo1StAxeJ2Q0ZeN0Tm3QXIIehseUbNG4eIZ%2FJVlvLkWrQuweEGzuAH1JgwGBq%2BLURI1NCzsV1xpsWPKxnTFathLfsqLD71%2F5G1nHsBEmycP12Gxh69dRDM3INmLENejNl%2Bx6T6445JUVP9ZMoPriJnZVtVn7oSGxSAyHjJmI20HTCGJnJ4lsxUy6XlY79JZcijvHGbuVES87DN%2B6R56p9apzXvEU4bVhYC9r9pD2PeQEsJA4dUD3FIeJ5UAA71WROApYo6FU86TyYGJF2mduIC33qV4YA%2FtL3%2BAdl1QGrGIQo3tGNaXBdWW4YofhUFHYJRFpmKzeFoxsi9Lpy4IewFWTGIJSA0PIZ0k2vfwmxFn719j8uAE%2BdE8Yb9JfPRKgtV1rPiXUSd7nL5XceK8pNbQ9DsGHaEzBcy2%2FbZ1yS6bjA12OnEPOv2B%2Bf5Vt0%2B%2F4WONTX6GMDcjuQ4txHMv%2FLMjyMNIrkeL537q2LEb0jutm15nj%2FN2MnteC17Mf%2BQRNp5oa7%2BqzKCtZKuD6GlIz0gquzXFksRSLu2qonLlLGHTYdDo0W0PiLk2Az%2FJ2EyeMAjptzSttS6zV83SWxvQXqiS3z5C0Anx1psU92wnntnMcFmcYO5zD1K5fC82Ht1nPsbycYtEElKZzedFVCYlq0uGWsuw%2F6BNc1EgHIFWhjASJEoxEBaZSoLm%2FIC5YxEX%2F%2FR2BhsDLNPBzhnO3tdm%2BqUlnKEyRv4VIryf8OH%2Fi1NfhCdOQ9czxnHQIxPIvZc5YvqlacinVpnn4%2BGC%2B5HYG889xHO5bK7D4mbM5uW%2F%2F4%2B38P8wD5bciBSHiL5ydNRe%2BsNdqZGVn5Ny5Wdoze1gtcrCwz1Wn%2FGjTkNL30NiQ7oiGZo2lEfAlhbxXJr1qkXgKQozFfKVAl7DI7NliPs%2B%2FAQT%2B8eYunwL7QtVEsUMg2obYjZYEscCQUB82342Hr8AMmTo4r3UHj5GuPQFNjYkI6OwvGCYmDAEIVTGBHNnIJUXeANBs6rYcokk6FgYISnsSqAGDkIrFs94iESGmStH6JxeJWma4Gk6gwjLSmKtWehmh6AJT5%2BVum0JMzsjrV27LexhFyrp%2B7HSH1xqvfqWiT3%2Fs%2FYNifx12f7Pmju%2FjduOEr6G4vkP%2FqI7cc3JH7VTg18iav8IUdutPdpj%2FrSv2wvaKF9INyFFpgjJYUNmSGDbBi0sMlun6DdtclsmWHq2RhR4zF69k9apBqDw%2BwahQohJynu3MJhfJBLu5pBaSpKzkxCEdJbbdB%2B%2FDSkkrR4MPBgZMwjLotMwxOIGJykoDYPvC4RtqC5LknmbvqeZPhBHBRZ2UnLii11S0sIJAtbWYGld0aiBMzBYApNKCj0zhpzeLkQiY0EqU8VKfNILSx9Kvvb4l7%2Ba7Qbr6%2BP0f3TXfmd29LulEEejr%2FyKweLrd8TN%2Bs%2FTbryVcnuH7vrMPegTzgeRo7BirhDELVRM4qQ18ZzCzsaRiQLr52HqpfsIBwajBzTWB2Qnh2gu1ClNFYgTQLpI2NMgFDIeo3dhmVg2xcDEkPOfxoQWka9ZXRJkchBLSsJQML5ds74ItTXN%2FtfatFcFg26EzDhIW9BrhjhK0D6vGHSg0zVU%2B3BuAcKeQYAulIXZs922LntpjJi20Nq5PxSxj6ryKz%2BevuLjq5vXAUFvBv5fzPbvCQDfWBXXSTj8tao4f8Sd9H%2FnjdZU7%2B0k3NfCPjt8dpnWUw%2BpaCMQKCGDEJQtiA%2FZuEOS9LhExV0GtRROcoTaqTrJsTx2LkM2H0NrQzCQnP%2FCU%2Bz%2BuYMgHMJ2h1ihwsYTzyJqd%2BM1JN26ZnhKEgFuUpBICnothe0KzpzQTOyFyn6bzjnN%2FDHoVAVuoMilBf1QsLwuiDzoNLXpavTQjBH7L4nL6ZIN2E0ShTtI5d8nLn76Hp7ryOZmrMPA9V8lLt%2BBv%2Fx7dCdYcjdSXMtXq6Kz%2BjP7k5Vdb5fq7uuwnh5nHpqPtUywrrXqGxlpKfzIYiBscrvjFPe6OK5D60QHKzFOenyKyPNJTo6y8tAZEqM58lMV%2BgsbxCpD9OdrDDp96Bwll4X6eUNxQrA4J5g%2Fq7n6JwQDYriOwiobHr8zQmmonZMUCoLRIUFlRuPVYP24oT8wWubiujCDPTZrIbckwUk9yYn4R2ve6EfL196zCGbTqnMDFjeivt1sf94A%2BJf2isat5DOv3XWdhXkHy%2B2XYfXx1kK881E0WI%2Fk3AUtw1DiZF1yuwuMX5khWUzhr4c4ydyma60vGL3mEronL%2BBWyqggYuVLxym%2FZJy1B%2F%2BJ4h6bbN5i%2FeGIfEXSDQ1R3DD68jGO31Zl%2BRmPYJCisj3O9lf3yKU1PKwIugZRQvVqkvR2x7L3DYPK9VmqfiYSO97nvP%2Fuz3FI6K9kO4D4LrL9eQfgm%2FeKvUKI67%2BqK8Ljr3iNTDXfIcd4I85IOjqzwfwXnlZeTRP2lbWxBlpajF40zPBLZilsLSGiHhiJVw2wUwlS27eyfORJ8rvGELZi%2FtZb6GnJxT9tIZuGoANREu69JaK26pApFth5MM%2BWl6WxEhbQJaotGPNsT2Mb6eyMCQoJYNtZPRAf7Xb2fSQ3%2FOHTzzFwzBFsrvneZPsLCsA3VMXdWF%2FfnrzVn91iF0pvt2Onf56NY7PMN6ieC019XunqmpHRQAs%2FALecZ%2Fiy7YxePEkirZBC463XCLyQ4oErqT7%2BNLnoCFFosbKmEC4cPwLaJBjdX2H28g7lnftAZDFmESWENo11bV9YtoWjYSiJTpfvMSb33o2zb%2Fvk6CW%2F3%2FtqSwWB%2BJoWer7WC%2FrYxs2PFzn81TJeO3ZdumSv%2F6ToXPhl2ase1I0BqxuG%2FsCOwnokV1e1rLZAJm3GL55h6yu3U5xx0DLCeNCbmyPoHWfhtOTUE3Hy4wV2H9zG9OVjSPcC4KMCH2NPKqpnsBcXLRZ8QpnsWhOp29RI5X2xsWePfpVCHsHmmhu0EIf0CxWT78tzMzcz7ODXUVmL4N6LXu4vLb3T9Hs%2FldkqcoyXmL93oOYeXme1Ka1AacpZmNlTYuKqraS2DWNMj9M33UejlWDP1Qkyl08D%2BzC00Rw3ejCszYUnZczzBPWAqJ88a2KFv1O7pj%2BSmLn3POiv37f089VmXnQAfBOVFYefK3WJWfqxqfDEE2%2BzLh16m8zPbmf9IZ68acVsnEFHRsiEHYmUCxN74zjlcaiuUtrpQ0IRbSlClNc0WjpYU3Yy1JhaH51JfYnxifdZO%2F7zJ4R4Xe%2F53FR%2FoAD4pqq4HiEObwZk6ZF3Jcvlp94cK1TfRW3jav1gnwuLmlZbR42akI4rZC6nKBUk5a1gUkY5F2Wwqp5F0mHwuNUUMffj8dmRj4jdz96D3iy2IzdgXwNaHEK%2FGN73i%2B4DPm64AXnjNd%2BoKYJTFx%2B01jZ%2BhW77zfJSlfROC1Ye8HWUsERMRCYpjBx%2BvQPTM6h%2B8jyy9yErcfGHhPjEPOhN7m6%2Bf23mB3IZgzDmuq97JIDAm3v1lii65N%2BbcM9Jc5trzIMps%2FSRmFn7745RS6NfiKIrf2Ft7eb011stv9Jqfri%2BK%2Fb0jYHc2PjLjP%2FAvneED4w8Vf905fO123f%2F6NfbXI3BNjf8YHy%2B5P8LOrXThWQgDrQAAAAASUVORK5CYII%3D%22%20width%3D%2296%22%20height%3D%2277%22%2F%3E%3C%2Fdefs%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%2830%2C50%29%20rotate%28-10%29%20scale%281.0%29%22%20opacity%3D%220.1%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28300%2C20%29%20rotate%288%29%20scale%280.65%29%22%20opacity%3D%220.08%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28390%2C190%29%20rotate%28-5%29%20scale%281.1%29%22%20opacity%3D%220.09%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28120%2C230%29%20rotate%2812%29%20scale%280.8%29%22%20opacity%3D%220.1%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28260%2C330%29%20rotate%28-14%29%20scale%280.55%29%22%20opacity%3D%220.08%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%2820%2C380%29%20rotate%286%29%20scale%280.9%29%22%20opacity%3D%220.09%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28210%2C140%29%20rotate%283%29%20scale%280.45%29%22%20opacity%3D%220.07%22%2F%3E%3C%2Fsvg%3E");
  background-size:500px 470px;
}
[data-theme="dark"] #msgscroll{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22500%22%20height%3D%22470%22%3E%3Cdefs%3E%3Cimage%20id%3D%22p%22%20href%3D%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAGAAAABNCAYAAABZqmHQAAAw40lEQVR42u29d7RlV3Xm%2B1tr733OPjnee24OlZNKQiohBEglEQy2wRhsydhuYwM2brfbaTj79Wip2s9%2BduMO7kAbN9HYIKtAEhIIA4JSCZSzVCVVrro5nZz22WGt9f64Ij083CQJMR7rrzvOuOnMb865vm%2FNb%2B0DP6DLGOQ%2F9%2FUP1wsS%2FOssgMHKW%2F54sPHzP%2FH1r%2F1wPc%2Frkfde5gB4j179LtM%2FaKL1lw2Cx15%2F%2BQ9BeCEy%2F8hBG2DwwFVvip69XKvonYGJ3mqi45cs9h%2F5hSkAc%2FMPQXhegx8887NXho%2Ft81T%2FOh2Fv62V%2BrXIDN5kwicvfsKYx%2FOblXDDD8yeYP%2Bg9HwhDkfe6T%2FaJlqf%2FYS9fdaNYiNayqyUYsPS8ZHI3hJdHD7567caY36UG0VgjBFCCPNif28v%2BkwxN19nCXFYmd5Hx2LhPXfaU7lRlRpVlozJ6OytdI4%2FhCS0VWI0ckZT16jF139M%2FGlCc1hIY4z4IQDfVebfIMX1h5Uxt5RU428%2FI0eC7VFuTAkrY4WP34PwXJr3PkXziWNYlrBV4eWhlW7%2FZLj6ur8R19uKu6%2BxED8E4DsMvhFwCGPOu6p%2Fxy3WeGm%2FSmyLrNi05T%2F8OIO1s6jhncTihujxx%2FAW%2B0hnq6PiPx7Z7plfDTu%2Fe6O49mhk9EH7hwB8%2ByJLwPVSCKlV7y%2F%2FwUpuuzqKfjMS7p%2FYaqMH9SNYO7YRra9x%2FoJhoCI4cydBI0IkdlpKXB7Z6sgNQe%2FPflWIo5ExN9g%2FBODbWgctIQ6rsP9v%2F9pKNd4S9e6KpPWUDS5S%2FRNqcjvIKZQpMzpmWFgR9KoN5MZfo7snBOm8paJRZfmffU8Yvu8nhDj0ogVBvviy%2F6AtxNEoaP%2FqH9uJud%2BMehciGWvYYvBF1BOvQKPxOxmEJbAKeYoVw%2FAIrK9YtM8%2Bib%2F0D%2BiuEZT2CeMbITt%2Fd1NgDl%2BxCcLN1g8B%2BJc3XVuIo5Hf%2Bq23OWLlz1X92UjKDUuYaVqffgAVKYJGklQljR3XaG%2BRZhtSWYEVM8w%2F4eCfP0H32c%2BBvyRN6WVG9HoJq%2FXhWzxzZEaI69WLTS3LF1fmH4o87w9eZ8sL71etR5URA0smJsSpDz%2BCcgcEdpHqhYh4eRxMCh2lUF2Q2qC1QTgRG6ckVvUZGk8fRcq2VMWXKNk%2BPua0%2F%2FoOY5pFIQ6rF5NQky%2BO4F9nbW6W%2F%2B1ip3viZrVxj2WynrALiOP%2FuIQftige2EJ9zWbk0m0ELQ%2BvHRKFDpkxwDbki5JUztBVmoVnJfbieepPP4WdtKwo%2F8rIaj2xT%2FV%2B41ZjTGyTXb04NML3HYCbnxNaffNXk6pz7%2B2sfCkrdEPbKSWX7%2B7RfuYCO68q0rrQpThWwPQHBL6mtdQgntBEXYgiyBagOGRhQgiUoVsXeI8%2BQvPsAnYmZYexSyKrdfTqyP%2F1vxPC0nD9i0Koye9v5t8gr7vusF5bO5Z2eo%2FdIueOTEVWQ9lZx9p4XHPuC01e8uYi9VVDqjJMNNBEChwrJDdkgRTYeVCWpNmGdgPKZUk6Jxg4YFkR9c99kd7aMk5lwg71jshuff5nlLrhr4U4rOAa6%2F%2B3AGxy%2FUPi8PVGlrO%2F9zHbPHggVOtRPGdZvQXDmTv6XPbmUZbPG0KRRjoO6ckhgmaPcGCT270Nodp01kB5htVzGq0MritIZw21FYM1boPxWbrtKKEXYk9M2FGvF8nGx38z6L%2F7j18MGuH7AoABscn1Udf979f8jVx%2B%2Bg0bnzobSce2tXA4eSfsedUQxopjJ7JM7MgTKAsjHZobHu7IMKo%2FIFRJcgVIpiBdALeoqbcUOoTdFwk6LUX5cklQb7F8%2B%2BfRUQ45Mmup9nzkeB%2F7c9%2B89xe%2B3xrh%2BwLAo49cZgtxNDLdH%2Fn34dLcLz%2F6%2FqUobEnbTkkaD1iMzwqi0MerB2Sygo0Lbax4nNaFKqOXX4Qdd%2Bgtd4h6hvPnBXYMCkWBYyDQQFLQaUhKOY3yNdltFvUnz1H9%2FHFk4heEmfxFS3uPKbv64fd73gde9%2F0EQb7wreegfeDAo6Hx3vguvbp86PGPnY0KJcseuUhw7AvQWvKIjyVYPhthJQqIWJ64a9NdWCZRsPCWFvDWmxgVkXAtRmZACYinDf0BpF2IZQ3Kgu6qRWfOEPQUuT0W1YfvovHkM9j264Qu%2F5igfZ8TC2662Tc3Xfr9EmryhQ6%2BEEcjE17%2Fxv7i0t8cv%2B2Empw01pYrDcdOOqyeDYmNWnS7MXKjBZxkAkQMbSRKOyTKFeL5POiQRCWDTiQRgQFl6LYNuSHIpWHjGQhThlQBbEfgZsFJaURZMnfLe%2Bievx07npGqlNSy%2BsWs1T78yb75wvSmUHthNcIL9seOHHku%2BMG7rqBX%2Fdjn3vMMnXokRq%2BSYq4jOPmgzxUvh8aGxrIlQzNFglDgDRQhSWL5Etq3sVMZascXsIvT2I7Cihn63U0GRBwSk4KhcfBXDL2MQETgxsFEhsyEIb9NcfL9H6I318RJp2UURsqqfnoi7r339nr9vTk4ZF5IEOQLk%2FnXWddeezQyrV%2Ffgeh88kv%2F%2B6lUc2FgYo6UG6uCR%2B4wHHyNpNu3mNyeRqIZDCKUCumvt8hWsriZOE4pS%2BN8jdLlFyH8FjqKkZkQpIYFyQx4LfB8SA1JxkoGK5KkL4rRXoS4C27MUJyWuOUBZ%2F7uIYL2MHJ2nxWlhiIZ3LU%2Fmzp%2BM3zlGPyF0Qjy%2BQ%2F%2BDVKIw8osvaFM1rvtwqcerjSfqKoto8jkmOD%2Bz2iueY1FrWbwjUtmOE0sV8IWAltEjOwZpre0RjTo0V1YxHEFiVwC1c%2FTWZxn47yhMGWRHpZEPvQ2QGFodgWxIMKvhrgFgeqDUVBdUkxeZiFkg%2Fpnu8jYl6DyW3a0Xo%2Bs4L4fifSffEAInhNqz%2F84Rz6%2Fwd98A%2BaD064e23ILp0%2Fsds%2BfiV719pR1xb8aor0Ol75EIl2BEg6T2%2BK0OzGS2ThnHlkjVRlGOimcXAFvrQmRJD1cJKp3sXITpAppEgXodzSREThJQbkC7XXIVwSmZ1g9bhgYQzgQhJ5FelTQiwyVA5La%2FAXqn3s7dvgRpIsdnn4ksr17ftH33%2F3uTaF2g%2FUDC8Bm8A9aQhzS%2Bq2v%2BTu5cuaq1n33RcMzwk7tn0COzTIzpihWBI01zda9cbp9i%2FzEEIvnPcYPzGLFHPxuRBg6GJFGuimc3BAiUUE3niI2vIPMkKC5bEjEIFvcpKQrS4b1DU1uVJIsCIQEk4RBHUQksISg29IMv0Jw9MO3ceG2ZeREBWxh%2B1%2B%2BN4rF7vm9YPBnvyXEoeiRR97l%2FIBWwEFLiKNR2P7J%2FyLV6nXVz98ZaSXsICZY%2B8JZWl98CJOE1TlDccyhti6AOP16i1TRYWgiT9DXtKp9AOyUSywdY1BtEfXaeKuLaO1gJyXxguHMSY2TgkBb7L8CDALPh2xB4NrQ7xjcUUWvKggHkMgIXAcuf7vFgx%2BvMffFDM5sEVnA6n7xU8qxnvqvfv%2FPf%2BbAgb8Nn0%2BNIJ%2Bf7H9uqDJ4y%2B%2Fa6dO%2F3bjjzsj0sCMNZxds5p%2BN6ESS%2FsCiH1m4aZvCWA5lJJGvSSctFp%2BcI%2FAGCNVHioj0WBkdCfrVDioAmR5Dyjb9mmJ4O4xtMSyeM1gxw9KiTb7k0G0apK0xGtyYAClI5zVCa0b22NQWJfkSXPVrNrf%2Fx3MsnZrC2VUU3qKRtc%2FcqWOJuQ%2F36394tRCHoq%2F4kl70AHxlqGKid%2F0rx17%2Bq4W%2FfSZSdazUVBxGx2ksadIjkq5nUMqQzyssJ03gRZx%2BokVuYhilYwztrGCiPoXJArYraJ6ZR6kBYW0RKXokpkoMWh10BI1zgnxZ4gDdNUV5RJMfgeEJTS5nyA3DyFaBUYKeZ8jkBZ11GN7lsHhKUt7i8spfcvnoHz1Dc8VQutgSarmD9%2Bg%2FxROF6BOD5XfuFtcejZ6PYY783gf%2FUBSG%2F8%2BrsFY%2BcNefParOPy2txAgieWACr6WZmY2wLAsCST4PuaEEdiLB4rzHvqtn6FZ97GyK7lqXlWcbZGZGMNIht20CEQZkd02gVEiwuABOGr8HiRxooLIFtITWmiJohfRbgtPHBVEARkkMkngROoEh8AwiZrP15VnWz8JL3lxk%2F0HBh%2F64STjkULosJjvH5lTv8afK8dH%2Bba0Hx0qbw5zvbczk9y7411lCHIo6q3%2B837Yf%2F8T9%2F%2BNLzrnHI5HJGUFCcuaOBWxvmQBB0lUUhiS9voW0LJobHca3ZojFLULjkChkaax6zBzcQ2%2BxTqKUoXthnv5ak%2BT4FLGERKZSSH%2BVWExCIGgvGzo1AyGYCPyBIZYRpIcsTp0SCKFJZwyxuEAHYISDDgTdtYBs0bD2QINX%2FXycka027%2F29EDkBuR2OVTv6xShabO7IvnTq1vmbJxJfz%2B5eNAB8hevPn%2Fy%2Fx9OVhTue%2Bshd%2BSO3NNX0qJATOwxffsAQtQN8KTl3RpApCOy4IZuzqS356BDwFQvHl3EzktZSjZF9U9iWRMRjCFvSaXjkL9qC6lSJIs2gukLr5Am0gep5Qz5ryGQFoQI7CdqAdGBil2HrPkm9ocmXDUEP0gWJm5Y4jkCFAqTEbyhqZ31%2B6t%2FEsIF%2FeLciPi3JDGn79E1fjmgVrpp8Y3xTI9yN9b0CQX4vgg%2BHzLNfvi0zuePUbYt33Tf16Q%2FWVTwtrXTZcGxZEg81lUnB8qJh7z6DiiSDnqA%2FgL4Hbj6DnUgwtnuEsN3DQqN7HZpzq7ilLJ25GkMX7UBKC7%2FeYdCJkOk0IjeGHRf0GjB%2FGmQoKI9JjBHUNwStKnhNQ8zSZEuSbt%2FgJgVYFm7ecPJ%2Bn9x4AmQSZyiBSNjUlwW%2F%2FKcp1s5LbnmvIjFkYUUd%2B9zfPxIRJt9q6jv%2Bo7hWRI8%2B%2Br3x1crvLvhGwCEhhGHXK275WPOJLx%2B45b%2Bci%2ByUsAo5TVVLWvOG7bOwsmiolAyOBWEEzS7ImCSZS6MiRbKYZP10Fa%2BlyI4NYYxDIp%2Bmc%2BYC8bREhh7h2gqh7xHVqkiTID0zQ9BTbN8nUKGkUdVIpUkkDemEQGLQyjAIwMkJqgsQITbbkHIoTsQ491iHVE4Si7nE0i7dmqG1EvLOP03wwGcjPn%2BPJj9iM2hu2E9%2FcC7C7f9%2BtLT1tw4cIDTmuwfhu6wAYQkhlRm85X%2BGp7%2Fw4x%2B58VzkC2Hn0obMiES0NS%2B5WLNWkyRcSaRgowbGKKQxxB1BYVgSS7gEfU3XiyhvK9NeaWOMzaBl6G74uMPDGAUimcOJ2cRyCZy0i2puYLnQjQwjFVChwPchCAWFEYMlYOmcoTxpkFJjlyTGtmmsGyJPM74%2FS2kyR201JDeeRoc22aKDCgXZTIJ33TDE5%2F%2FJcK4D0zskpta2Tv3DmrJSjf8arl3zU0IQGfPd0VP5nWf%2FQVsIItP5qRvVmXt%2F7X%2F90VKEJe1iFsa326i24dK9hhNnwA8hlRNYCYtiWeD1BRNbYvhBRLMeEEvYVFfabDswS9TTKCPpDwwimcLK5xFhSKxUJqx1sBJFUjt3EXXrWIkUti2QcQlpQ6IIG0sWrgvGCBwXBl3ByhzEY4Js0QIj8QcaZQJaKx7JtI1jFP16Gx0IYvks5e1jzD%2Fms%2B3qAr%2FyJyU%2B%2Fo8RJ1dgeNwSy8%2BE8vSnWtpOnfhIsPZjLxfi6HelEeR3HvyjUdR4%2BztZveeGD%2F3FeiS0tEpJzfbdFnZkeOluQ9sDJwZbpqDRgnzWcPK4IV2yyAzbxJMOcQzrZ9bJlSTNhRq%2BH2GiANFrIvEojqcxlkPkB3QuLGIXchgvRKaGMH6b2sJmcDMjEi03D%2BIa65vKF2D%2Fy6CzAQNf4yYU8SRIBZFnMEFEbb6D7Ur6Kz7poSS2GyeKLGQyxZm761z0phI%2F%2BQt5PvD3mpWBIJeXYulhzfo9Gwknc%2Bx2v%2FZv9n43GkF%2BZ1z%2FaOQ1f%2BP1lr77vXd9aE2pgbAmy1rMbBV0u4qhmMJxBd2OYMsktDqGUt5QrxnKI5JixabTCFAR%2BJHCyDiJbAalFGgPxw5JlSwSOXvzCmQqRf3UHPmXH8D4PmHHo7e0ipNO0q4ajj%2BqkRa4aUGyuDl0XlsyCAmtlmFqC%2FQboENDd1VRms4i7Cw4FhMXZ4mUg2%2FH6bV8Bl1NONBMvbJCspRh5aEer%2FzlEV79%2BjgfORyRKNoMlZAbj6KCM%2BulWOqu27sXfnv0OzV8ye%2BE6%2Ftrv3yJK%2B46%2FNjh8%2FL8aSmGckZMzUoCx2YiZ7DjsLEB%2BRxU64IwgDAy9H3B9j2Sfh%2B8tkZLIO6QKLgEHri5LM3lNoFOkRybprvUIgoU%2FbllsqN5hBqgvQ7tlRWka9NdWGXvQUl%2B1HDuGUM8AdmcJJmzsaVERYZmVVCvCZI5Qb8Fo7sN8azETSdYPhnR6ynS5RiJXBKjNZ31Jk5c0L7QYGg6hutC%2B9kub%2FrVAnt3x7jpUyHZEUEsZqzO00FEdWFLonTk1qVHHknCIcwN3x4I3%2FI3f8VAtXL%2ByExs2HzqwU%2BcSn%2F5U8Ikk8hsSeBmBQWtCDXU2gKFwbYhnYZ0RtDpQCEHy0sGoRTttiHsadL5FK5r0etGaDuOSKawkwl0KImXyvQWqxhhIR2X5lPPEvltrKiO6XdIb91PY9kws0%2BQLQG2QdgapQ3js5vH0uUyJDNg2YbGnGF9QWO7HsIx7Lh6nLUTAcK2yQ1ZxDNxHK3w2330IKJxpo6bcujMd%2Bm1De%2F8yynSSYvDnzfkKwKJsPtPepG0WldULrrxYwhjuPGQ%2BHY0gvxWuf51192sn%2FrUzxVGZp6448w9z47f849KZfJCJhKQHxKktKGPIdLgWJCIg4pACsPSimF8qyRZjoGQtGoGN2bhpmNIDEbG6LV9oq5HupgkmYJetUng%2BQRKQiyOQVC8eB9SJshOjZIcySI6J6Bn2DhjURiyWDslcGxNaUrhuIZWU9BqQBQK%2Bm3Y9ipBt2bwOiAsTeQLxnYV6K0G%2BO0A1YsY2juGsF3cfJb87DihL%2FGFy6Bj0VpT%2FOZ%2FH6e6rrn1S4Z80eC4wh48sRRZsaWfiDqveY8QKDhofc8A2ERzrzgshLzox%2Fcfrp26Z9%2Bn331fVCxKK24bShUI6jDA0G4apBHksmDbgmTSUG0IRicFoQa%2Fq7EQtJowuj2DjFu0GwK%2F14PAI561yJRSGCNpb7RACOKFHLZUWMk4QbPLxuMncSfGkKkYsrCNTEFgmobmSc3GArRrFt2WIVaEVAYsaei1DNKSeB2b6Uti%2BB2FZRvaC03CnsLJWBjhUNg6hJN2ENLmzH0LYGmcZIJ0MYMygtqFFsaS%2FM5%2FKnP8Yc1NnzY4ZYFUoT149ERkp61%2FHTXf8O82DV%2FfGjOS35qB6np1Xfi7Hwhqy6%2F%2BxA23RcWCZRddw%2BgY5FzJxFZotwzDBUFkoNsH193s%2F4WyoDws6Teh29JYSYmyYxgglkwyPJkh6Bkqu8YIOz610yt4vS6630JKRX6qDMImlitQO7tO4aX7UZ6H6gd0l%2BeZOyfIlxQq0NjGIF1YnRP4fUNluwBbEDYNhBbdBeisWSTSLu35kMK2PPFCEieTY%2BmxKq21LiBIDceYvnKSs%2Fev4KQlmZEY6WISW0H9ZIN8WfJr%2Fy7JkbsMn77VEBuyMRue5T3xVGTlGn%2FqL%2B57x7cKwr9YKjc%2Bcpkjxu%2BPTOOtf4aT%2Frcf%2Fs2%2FjaKOsisFuOgKQT4nKZUNx45r4haUKxKtBToCP9qkoMm0IAohCqHtCWwbKhMxgiCiMF7k1INrxIslitMjSGGTHMrgtwakxisIpfCWV0mMj9Bfa2EnY%2BQmRwibHt21AMeOs%2FTsMYJQMzEr8DvQWjUEHlgIhJFgDG5O4GQM6UqEljG0SFJdENgCRMwC6TC8t8T8Y1VS5QSWBDdrIy2HoDfAKE1vvU1hIosdM4R9n4mrXcZzAX%2F%2FHs3QMMzuskTvRFuEvb5O7nHf9EdvHX%2FAGXrotDmCfejD6G8bAGMO2mL8%2Fsg7e9mv2aPpv7j59z8ZZb2OvXW3pFgSzLzMJpUSLJzWDDyYnBB0PYtuW6MMCEswOSXpdjeBwBhsWzI8GUeFmuJMnuqSwjhxJi%2BeoLPUIVFIsvDAOdJTo%2BS2jBH1fGLpFMFGFVSAk3LxN5rIdJHu%2BTUSeZtM%2BBSdjsBoMPbmKWipBN2uBLPZgoZ2Qn3O0GtDaZsi9BwUMRKFBO3lPm6xiBWLkS6n6Fa7SEdQO7GGmwAhJI4ryAyl0FIQSzic%2BmKDZE4ze41NFsP7%2F5tiYliTc4W4%2F5N9ZNISw5cFb%2Fqda8Y%2Bn3hVdckYrEOHMN8yAOYItpidi3qf2fGmxI72h2%2F6y6f0ykMd63Vvjoldv5IlnIsYdDT9umZlCabGQRmLesNgO8%2FZxdMCKyFIp6HZEpTGLdIFi40VjWVJhHTwBzCxq4LX6pMYzlJd7KHdBMP7p%2BnO1zHEUV0Pr9oht%2B8i%2FNUGGINq14g7EcLdgjf%2FAJkSdDoS1zWMbwOtBc2qIDtmcKTAAMmiYOO8xM1DqiIwvsRb72CikHjGpX6hg9%2FTOJbCb%2FTITZSIuQK3mOTC3atkx9PImIXyPUb3FZh7sofrBuw8aOOvaW76qKGYFSghxJNHemZyR%2BCW9pkf%2B42rf%2BRwaseJljHIfw6EbwLA3Iwl3oBavemilxWmF2%2F%2FzCdqzkN3hiJTsIQbh%2F5SSMpR9JuKblPgutAbSJIOrNY2N5VsGhJpi3QGmk1JowvTOyyCgSEeB68nkI4kkbWpne8gYzZOJkV1scvUFdsYrHcxysZreziZLKESuOk40nLRSiN6TdL7DqAGVdaeeJz8sMB24NgTMDYLdkJiGei3YRCAsC0yFYt0yaK%2FYfA9gVGb%2F2OmbBMNQuLpHJYdJ5FK0p1fw3ItYrkYJgxw8nGWn21RnM2gI4NlR2SHk7SWusQTEdu2S1bOGr70IOychUEgxLNfVmr3VSqfm9m49rrpv%2FiH4ZfeGdwI8tDRbwRBflPwr0edv%2FV1M5X8%2FC1Hv9BNHrnNmFxOCCdpqPUN0ZpiZVlz6pQgnwUrJkkmDJGBYgayCUMyKcjmDUob6k3NS15mM%2FAF7Zqm50t8pYnl8li2S3pyiHg%2BR2exTmU8Qe%2F8IkZFDAY%2Bfm2DsFEnM5ZF9Tq0VlbRxuAFDsQTRD2PfAVaLcgNwSVXCs6eECQLhswIDFUgaEOvpmmvaboNSIzYRG2J6UIsHydWyeN1BUbGSVfA73VRqQxGQmvBQ7o2%2BZkMY5eMsvZMg%2BRwin4tQvU7pNIxvHWLREXy9kMOwyNw1yNQKkl831gfP%2BRFBI2X7H3tuz92%2BLCR7OWbNMLXHnp0A1Jcjzr2T%2B8sToQPfvrxY53ROz8tVMI10rIFM7OC7cOaXF5zYQ4mR6A3AGkMA09QrRnKBQ2OoO8ZfE%2FTbsG2bQbhGKLA0G5DOm3IDqdw4hJl5XFiDitPLJGfrSCdBEE3JPIHyLCDm0mQ2zZKzI0x6CmkNBAMSE6Oo9tVsGKkMptir1XXFIYNQyOCjQXoNAWrq5LKXkl5VjIYaMo7NXbCQtkCnUpSPx%2FidzS28ll56DjCCXALBjft4nUNkefjNSVqoElkJfnROO1zG0gietWA9FicXk1y%2FoGQzIzkN%2F4iThjAmVXDxXsE3Q1h3%2FruKCK3%2FoY3b518n7jeUtyNtckuvw4AYxAcgjvNnfGt7dtvObvU2nP4syYqpLUlpWB0xFB2NKWi4fwcjA%2BBm4B%2BT2OjubAE2ayAmE0qs%2BnNqVchndm0G65fiDCRwnY0MpeitK2EFzpktoywdr6FWykgHAcVBLilAqraIp5yyMyO0jh%2BAb%2FegLANrSrxygjxrIuOIuxCivPPbHo%2Fgx6cfNSgfdC%2BJJGG6T0SKy5xc5LlZwSNdU08p8lWBDLy8Gua5ok2uV2jjF%2B1i5XH2sQLSXIjLrnxCqqvCNtdvFpA%2FZl5hPQImgOCTkR%2BMku%2FaihM2xjtsPiAYmiX4Pf%2BU5yzpw3VruHAJYKNOWMffd8gsgsbv%2BTdM%2FUfxLUi4sjXWv%2FmaO0wUnzc1u%2FZedffr69U3%2FDBz5iomDC2UoLt22x2z0AMzcoqOBLSaYE3gGIWzswLxiuC4WFJzzNUNwxWbNOjOTErsBOSXDmG70uSBYlMJui34hR3ztBZ7tHr9pm6cppgvUu3rVBK0mmGJCoF4sk4TiaOk4yjwxA74yKFher0iI9PE84%2Fy6B2Gm0E2ZygU5dky4JMAR4%2BahjdonBdg7E0lZ0O5x6TJJIGlEAqyE7mye4eobOsyc6O4tUC%2FE6X9FSW3moXJ25hx8FxbTJjeWxH0FiOkDELr61wMxJQVHbHWDsVEjMRlb0W48M2H31fxKVXSHIJwfFjSHwTTV%2Fau%2FYP3jxdjb2q%2BeBX6Kn1xjGc8V%2BUUf2WLf%2FZ21j5lfd8MopciS0MbNsiuOoySSKmWVo1JBJg2bBR3SwdP9w8Ch4dkYSBYX1NE4ttIluuCIQF6bzFqacVmbJLaTZHY0nhJJOE3QFRr0tlZ5GoqzDCprbUJVVIEyhBcTxL0Ogi45LVe09QunQvTiaLt7yAk3EJ6g2iZoOoPs%2FivGFqhyQIBP5A4iY0qZRmbQliLnTXIF6wkcTw2g6FcQvhFqmdspB2HLdQpju%2FTnFbibDbxPR9JBDPuCQKCU5%2FcYnsZBYpXaQj6NYjYgnBoOWRTlsEXkihZOhXFYOViNl9hlLZ4baPKg68QiIHhmNPGhG3Iz2523%2FDH7xlx2OxV2%2BcMEew5YFfFeHKR7f%2Fhre49Dv%2F6%2FYgUqGw4wImZwWvf6ckJiLmlwzrNUEqIbCkIJeC7kCgFLhxw8IK9HsGI8BgUSxIHEeSydt024IQQXlbkm4LsmMFZOTj1TqkRoaon2zRvtBAa4hFPYgixvZN0FtukpwepnGujjNawUqmCOp9EuOzhPUOAnCGRymUDYm0pNsyxJPQ9aCxKmivCUrDAoMgMWRjuzCyNwRrQHNNIOMxhg%2BUiJoDpBMRND02njqHLW06p1oIYYG0Cbs%2BU68Y4dwja2gTkEwJhqcEQadHb91j0PDZOO7TrVlkZhx6bcP6CcMrftHidT8T4%2FZbIyZ2QTFvxJE7EI8d6Ru3OP%2FR7tM%2FfrG4lsiqf3rv28TG3N%2BeWuir7kBYMWlEuSB58x%2BlsJuahacUixuwa1agELTqhgGCSEEuB6mUwBGaQSCRQK5oEwpBJi9IZGzOn43Ye2WKQKcIPE2v7iMTGq%2FnUJocQiPITQ0TtPqbp5HZLN3FGpnpCqEXMai2GL1yL95aY9NYtd7CCIHvaRKVCt1Tj5DJCbyuQG5qLzJZiZCCZtswfbnBIMA2WCkLNwfKT6A6AmMkdsrBW%2BtQmC2BsLEcm347xIrbBB44rkMi65DIJumstUkNx%2BguN5F6QMwy6EgxskUQCUgMQdA2rJ41xIRiz09bRHXJfZ%2FV7N8JWEL4njBbd%2FpxVzd%2F%2FMbfevUd1lt2Dx589KmeWG8KeelWITKuRCYtCp4i5RtMRhC3BCoCr2foDCCfF2htyGcFJoJqW7DRFGydNDTbBqMFlpC0W4rRCUEsEUcbi1Y1JFVK0G04DE1X6K61yA6nmb%2F%2FLDIeo7B7Cm%2B1gXQsjDIE1Q1yM2WUrxFG05jfIDVcxqv1ye0YRVWXaZ8%2BRWYIFs9CKmeY3rmpvse2GXr1zWlYaVrQbxiMMIT9GMJYiFgC3Yfk5CjLD68RBiGlHRW6qz2Ix4l8hbfeJD1SIOiFCBNiBiF%2Bs4G0QyRQntKcvVdhuYbCKHQ2DKWLDKXdho0nDaapiEmbVMpw2Y8JLrlUkElLce9dhJ0Fr4Dxp6w%2F%2FBHnT8NmKBcbiEfPEgUB4tyiEU8f16yubboYZmYthqYEuLC2BAltKBVBInFTgoV1wfSowbA5i5UC2j3B8IjNIICNpYhUQdCpaYyKUd46RrfWITOUJFKajaUGkwdmGFS72AmXeC6L3%2BqRGC3hrdXpz6%2FjDhfpnFtFhgMyWysksoKoq7B6zyJjgnTGcOxpKJUhmdp0P49ugaAPUQ%2F8FkSeIJ6O0TwZEk8ncStl%2FFpAeVeBlZN1tArJjWcxviKRS9BbrSGsCL8d0F1tkh0J6a2EJNKCZEnj10KK2wT1qsBNG1JlQ3tZMFi1WHvasPCkJKgpXvJSyeppwWc%2BafRDDxmdEtjbcgY7m5wTK%2B8de2uv3nvHoO%2B9OvIDeXwZztel8gJBq6OlHxgxVpZcsluw%2FzLB0E4LYWxqJwy0%2BpxbgEQGhodtWi1DqASpgqTTMey%2FIkaoDIm8pN%2BTDHoW8VKRMLBxE5CZqHDiSwvMvGQSJxFnUO%2BSnpnk1KceJTtZZuTKffTOr%2BHkXKKuh2p3kOkU8ayDnS7RrYN68oN4gUVpSNNuQrcjGN9iWF0wqBAyJQstBIUtEJHAiCSrJwyFiTRh4JIZyWG0wcnEOf%2FAHFuuKNM40yLoeqSGXPRgQGokj7QtguYi62f7ZEcSqF6H%2FFiEXZAEA8GFzymEY5h%2FRrCxIen5hjgGR2K8AK2MkdMjQmwbt5GWs27H3E%2FEx0f%2Bh3jOXULjjn2XWLXFX%2BrV%2FZ82%2FcH4ai%2Fi0Qtw6oKIWp6Qjo0sZWDLFsPegwm2Xz6LY4%2By9vQ68cZJGqs%2BgQIdt4nFBek85IckyWKSjQWfgQ%2FbXreb6uk%2BQaNLquiijUSm0uTGSnSWmqRnx2gu9qgvbLD11TvpzzUx2Pi1DpHXp3hgL7rXJVxbxi5N0Fpp03%2Fys4xul6wuCXJ5Q7cFjrt5b7hVF4xut7hwzNBVIRe9ocSglsBrBfT7KYxvyE8XEEQIDKEX4ncDUsMpBnWP3FSBYKXGxskWk6%2BbJGi28OqrBKFFTIbobki%2FCounoFaH5RWodQy9nkAY1MSoYMessaYLgqTlkE6790XpzAe9sSs%2FOXb1xzfAIMzNWDdejzkEGgSm%2Ba8LK7fc%2BhM513uHbQ9eGfQj%2BfS84fizWtdrGBtkJoYYG5Vsu3yCsSsvR%2BZLWP3TXLjvSVaeabJlhyQ7LLEyDplKkafuWWXLtVPE05N0zy9hG0Ov5ZGZKqMC6K13yEwMkZoYZuGRecYvmyLqBehQ0FrpkRkvUb%2BwxviVexBeC9IVdM%2BnfWGZ%2FuN3Ei8KGnUb5UdMbzOcPSWZ3CNIF6C2BMMzNmeORaQnHUZ2DTOoh6hAs%2FBIn%2BJsCsd16Kx0GNo1StAxeJ2Q0ZeN0Tm3QXIIehseUbNG4eIZ%2FJVlvLkWrQuweEGzuAH1JgwGBq%2BLURI1NCzsV1xpsWPKxnTFathLfsqLD71%2F5G1nHsBEmycP12Gxh69dRDM3INmLENejNl%2Bx6T6445JUVP9ZMoPriJnZVtVn7oSGxSAyHjJmI20HTCGJnJ4lsxUy6XlY79JZcijvHGbuVES87DN%2B6R56p9apzXvEU4bVhYC9r9pD2PeQEsJA4dUD3FIeJ5UAA71WROApYo6FU86TyYGJF2mduIC33qV4YA%2FtL3%2BAdl1QGrGIQo3tGNaXBdWW4YofhUFHYJRFpmKzeFoxsi9Lpy4IewFWTGIJSA0PIZ0k2vfwmxFn719j8uAE%2BdE8Yb9JfPRKgtV1rPiXUSd7nL5XceK8pNbQ9DsGHaEzBcy2%2FbZ1yS6bjA12OnEPOv2B%2Bf5Vt0%2B%2F4WONTX6GMDcjuQ4txHMv%2FLMjyMNIrkeL537q2LEb0jutm15nj%2FN2MnteC17Mf%2BQRNp5oa7%2BqzKCtZKuD6GlIz0gquzXFksRSLu2qonLlLGHTYdDo0W0PiLk2Az%2FJ2EyeMAjptzSttS6zV83SWxvQXqiS3z5C0Anx1psU92wnntnMcFmcYO5zD1K5fC82Ht1nPsbycYtEElKZzedFVCYlq0uGWsuw%2F6BNc1EgHIFWhjASJEoxEBaZSoLm%2FIC5YxEX%2F%2FR2BhsDLNPBzhnO3tdm%2BqUlnKEyRv4VIryf8OH%2Fi1NfhCdOQ9czxnHQIxPIvZc5YvqlacinVpnn4%2BGC%2B5HYG889xHO5bK7D4mbM5uW%2F%2F4%2B38P8wD5bciBSHiL5ydNRe%2BsNdqZGVn5Ny5Wdoze1gtcrCwz1Wn%2FGjTkNL30NiQ7oiGZo2lEfAlhbxXJr1qkXgKQozFfKVAl7DI7NliPs%2B%2FAQT%2B8eYunwL7QtVEsUMg2obYjZYEscCQUB82342Hr8AMmTo4r3UHj5GuPQFNjYkI6OwvGCYmDAEIVTGBHNnIJUXeANBs6rYcokk6FgYISnsSqAGDkIrFs94iESGmStH6JxeJWma4Gk6gwjLSmKtWehmh6AJT5%2BVum0JMzsjrV27LexhFyrp%2B7HSH1xqvfqWiT3%2Fs%2FYNifx12f7Pmju%2FjduOEr6G4vkP%2FqI7cc3JH7VTg18iav8IUdutPdpj%2FrSv2wvaKF9INyFFpgjJYUNmSGDbBi0sMlun6DdtclsmWHq2RhR4zF69k9apBqDw%2BwahQohJynu3MJhfJBLu5pBaSpKzkxCEdJbbdB%2B%2FDSkkrR4MPBgZMwjLotMwxOIGJykoDYPvC4RtqC5LknmbvqeZPhBHBRZ2UnLii11S0sIJAtbWYGld0aiBMzBYApNKCj0zhpzeLkQiY0EqU8VKfNILSx9Kvvb4l7%2Ba7Qbr6%2BP0f3TXfmd29LulEEejr%2FyKweLrd8TN%2Bs%2FTbryVcnuH7vrMPegTzgeRo7BirhDELVRM4qQ18ZzCzsaRiQLr52HqpfsIBwajBzTWB2Qnh2gu1ClNFYgTQLpI2NMgFDIeo3dhmVg2xcDEkPOfxoQWka9ZXRJkchBLSsJQML5ds74ItTXN%2FtfatFcFg26EzDhIW9BrhjhK0D6vGHSg0zVU%2B3BuAcKeQYAulIXZs922LntpjJi20Nq5PxSxj6ryKz%2BevuLjq5vXAUFvBv5fzPbvCQDfWBXXSTj8tao4f8Sd9H%2FnjdZU7%2B0k3NfCPjt8dpnWUw%2BpaCMQKCGDEJQtiA%2FZuEOS9LhExV0GtRROcoTaqTrJsTx2LkM2H0NrQzCQnP%2FCU%2Bz%2BuYMgHMJ2h1ihwsYTzyJqd%2BM1JN26ZnhKEgFuUpBICnothe0KzpzQTOyFyn6bzjnN%2FDHoVAVuoMilBf1QsLwuiDzoNLXpavTQjBH7L4nL6ZIN2E0ShTtI5d8nLn76Hp7ryOZmrMPA9V8lLt%2BBv%2Fx7dCdYcjdSXMtXq6Kz%2BjP7k5Vdb5fq7uuwnh5nHpqPtUywrrXqGxlpKfzIYiBscrvjFPe6OK5D60QHKzFOenyKyPNJTo6y8tAZEqM58lMV%2BgsbxCpD9OdrDDp96Bwll4X6eUNxQrA4J5g%2Fq7n6JwQDYriOwiobHr8zQmmonZMUCoLRIUFlRuPVYP24oT8wWubiujCDPTZrIbckwUk9yYn4R2ve6EfL196zCGbTqnMDFjeivt1sf94A%2BJf2isat5DOv3XWdhXkHy%2B2XYfXx1kK881E0WI%2Fk3AUtw1DiZF1yuwuMX5khWUzhr4c4ydyma60vGL3mEronL%2BBWyqggYuVLxym%2FZJy1B%2F%2BJ4h6bbN5i%2FeGIfEXSDQ1R3DD68jGO31Zl%2BRmPYJCisj3O9lf3yKU1PKwIugZRQvVqkvR2x7L3DYPK9VmqfiYSO97nvP%2Fuz3FI6K9kO4D4LrL9eQfgm%2FeKvUKI67%2BqK8Ljr3iNTDXfIcd4I85IOjqzwfwXnlZeTRP2lbWxBlpajF40zPBLZilsLSGiHhiJVw2wUwlS27eyfORJ8rvGELZi%2FtZb6GnJxT9tIZuGoANREu69JaK26pApFth5MM%2BWl6WxEhbQJaotGPNsT2Mb6eyMCQoJYNtZPRAf7Xb2fSQ3%2FOHTzzFwzBFsrvneZPsLCsA3VMXdWF%2FfnrzVn91iF0pvt2Onf56NY7PMN6ieC019XunqmpHRQAs%2FALecZ%2Fiy7YxePEkirZBC463XCLyQ4oErqT7%2BNLnoCFFosbKmEC4cPwLaJBjdX2H28g7lnftAZDFmESWENo11bV9YtoWjYSiJTpfvMSb33o2zb%2Fvk6CW%2F3%2FtqSwWB%2BJoWer7WC%2FrYxs2PFzn81TJeO3ZdumSv%2F6ToXPhl2ase1I0BqxuG%2FsCOwnokV1e1rLZAJm3GL55h6yu3U5xx0DLCeNCbmyPoHWfhtOTUE3Hy4wV2H9zG9OVjSPcC4KMCH2NPKqpnsBcXLRZ8QpnsWhOp29RI5X2xsWePfpVCHsHmmhu0EIf0CxWT78tzMzcz7ODXUVmL4N6LXu4vLb3T9Hs%2FldkqcoyXmL93oOYeXme1Ka1AacpZmNlTYuKqraS2DWNMj9M33UejlWDP1Qkyl08D%2BzC00Rw3ejCszYUnZczzBPWAqJ88a2KFv1O7pj%2BSmLn3POiv37f089VmXnQAfBOVFYefK3WJWfqxqfDEE2%2BzLh16m8zPbmf9IZ68acVsnEFHRsiEHYmUCxN74zjlcaiuUtrpQ0IRbSlClNc0WjpYU3Yy1JhaH51JfYnxifdZO%2F7zJ4R4Xe%2F53FR%2FoAD4pqq4HiEObwZk6ZF3Jcvlp94cK1TfRW3jav1gnwuLmlZbR42akI4rZC6nKBUk5a1gUkY5F2Wwqp5F0mHwuNUUMffj8dmRj4jdz96D3iy2IzdgXwNaHEK%2FGN73i%2B4DPm64AXnjNd%2BoKYJTFx%2B01jZ%2BhW77zfJSlfROC1Ye8HWUsERMRCYpjBx%2BvQPTM6h%2B8jyy9yErcfGHhPjEPOhN7m6%2Bf23mB3IZgzDmuq97JIDAm3v1lii65N%2BbcM9Jc5trzIMps%2FSRmFn7745RS6NfiKIrf2Ft7eb011stv9Jqfri%2BK%2Fb0jYHc2PjLjP%2FAvneED4w8Vf905fO123f%2F6NfbXI3BNjf8YHy%2B5P8LOrXThWQgDrQAAAAASUVORK5CYII%3D%22%20width%3D%2296%22%20height%3D%2277%22%2F%3E%3C%2Fdefs%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%2830%2C50%29%20rotate%28-10%29%20scale%281.0%29%22%20opacity%3D%220.1%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28300%2C20%29%20rotate%288%29%20scale%280.65%29%22%20opacity%3D%220.08%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28390%2C190%29%20rotate%28-5%29%20scale%281.1%29%22%20opacity%3D%220.09%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28120%2C230%29%20rotate%2812%29%20scale%280.8%29%22%20opacity%3D%220.1%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28260%2C330%29%20rotate%28-14%29%20scale%280.55%29%22%20opacity%3D%220.08%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%2820%2C380%29%20rotate%286%29%20scale%280.9%29%22%20opacity%3D%220.09%22%2F%3E%3Cuse%20href%3D%22%23p%22%20transform%3D%22translate%28210%2C140%29%20rotate%283%29%20scale%280.45%29%22%20opacity%3D%220.07%22%2F%3E%3C%2Fsvg%3E");
  background-size:500px 470px;
}
[data-theme="light"] .msg .bub{border:1px solid #e2e7ee; box-shadow:0 1px 1px rgba(11,42,74,.05)}
[data-theme="light"] .msg.me .bub{border-color:#ecd98a}

/* ===================== square avatars ===================== */
.avatar, .avatar.sm, .avatar.lg{border-radius:9px}
.avatar.sm{border-radius:7px}

/* ===================== onboarding polish ===================== */
label{display:block; margin:12px 0 4px; font-size:11.5px; color:var(--ink2); font-weight:600}
label .lbl2{color:var(--ink3); font-weight:400}
.row2{display:flex; gap:8px}
.row2 .btn, .row2 input{flex:1; min-width:0}
#obMnemIn{width:100%; box-sizing:border-box; font-family:var(--mono); font-size:11px}
.linklike{display:block; margin:14px auto 0; background:none; border:none; color:var(--blue); font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:3px}
.qrframe{display:flex; justify-content:center; margin:6px 0 2px}
#obQrBox{width:190px; height:190px; border-radius:12px; background:#fff; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; position:relative}
#obQrBox .qrph{font-family:var(--mono); font-size:34px; color:var(--line2); letter-spacing:2px}
#obQrBox svg{width:100%; height:100%; display:block; border-radius:10px}
#obQrBox:empty::after{content:'QR'}
.spinner{display:inline-block; width:13px; height:13px; border:2px solid var(--line2); border-top-color:var(--blue);
  border-radius:50%; animation:spin .8s linear infinite; vertical-align:-2px; margin-right:4px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===================== emoji picker ===================== */
.emo-tabs{display:flex; gap:2px; border-bottom:1px solid var(--line); margin-bottom:6px; overflow-x:auto}
.emo-tabs button{font-size:16px; padding:5px 8px; background:none; border-bottom:2px solid transparent}
.emo-tabs button.on{border-bottom-color:var(--blue)}
.emo-search{width:100%; box-sizing:border-box; margin-bottom:6px}
.emo-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(32px,1fr)); gap:1px; max-height:260px; overflow-y:auto}
.emo-grid button{font-size:19px; padding:4px 2px; background:none; border-radius:6px; line-height:1.25}
.emo-grid button:hover{background:var(--hover)}
.emo-cat{grid-column:1/-1; font-size:10.5px; color:var(--ink3); font-weight:600; padding:6px 2px 2px}

/* group roles, in the members sheet */
.rolechip{font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; padding:1px 7px;
  border-radius:99px; border:1px solid var(--line2); color:var(--ink2); margin-left:6px; vertical-align:1px}
.rolechip.owner{color:var(--gold); border-color:rgba(245,199,17,.5)}
[data-theme="light"] .rolechip.owner{color:#8d6f00}

/* group system lines: "Alice added Bob", renames, role changes */
.msg.sys{display:flex; justify-content:center; margin:6px 0}
.msg.sys .syschip{font-size:11px; color:var(--ink3); background:var(--bg3);
  border:1px solid var(--line); border-radius:99px; padding:3px 12px; max-width:86%; text-align:center}

/* presence: the green dot on a chat row whose peer is online right now */
.chatrow .av{position:relative}
.presdot{position:absolute; right:-1px; bottom:-1px; width:11px; height:11px; border-radius:50%;
  background:var(--ok); border:2px solid var(--panel)}

/* Top of a windowed thread: says there is more above and gives the scroll
   somewhere to land while the next page is pulled in. */
.olderchip{display:flex; align-items:center; justify-content:center; gap:7px;
  margin:10px auto; padding:5px 12px; border-radius:99px; width:max-content;
  font-size:11.5px; color:var(--ink3); background:var(--bg3); border:1px solid var(--line)}
.olderchip .spinner{width:10px; height:10px; border-width:2px}
.mediabox{min-width:120px;min-height:34px}
.mediaload{display:inline-flex;align-items:center;gap:6px;color:var(--ink3);font-size:11px;padding:6px 2px}
.mediaretry{display:inline-flex;align-items:center;gap:6px;color:var(--acc);font-size:11px;cursor:pointer;padding:6px 2px;text-decoration:underline}
/* PREVIEW STATE (v67): the postage-stamp thumbnail that arrives with the
   record, shown while the real file is still uploading/downloading. It is a
   160px JPEG blown up to bubble size, so it is softened deliberately - it
   should read as "this is coming", never be mistaken for the final image. */
.mediabox{position:relative}
.mthumb{display:block; max-width:100%; border-radius:var(--r-sm); filter:blur(.4px) saturate(.94); opacity:.82}
.dlchip{position:absolute; left:8px; bottom:8px; display:inline-flex; align-items:center; gap:5px;
  padding:3px 9px; border-radius:99px; font-size:11px; font-weight:600;
  background:rgba(11,31,58,.62); color:#fff; backdrop-filter:blur(3px); pointer-events:none}
.dlchip .spinner{width:9px; height:9px; border-width:2px}
/* A stand-in blown up to full screen must LOOK provisional and SAY so - an
   unlabelled 160px thumbnail at full size reads as "they sent low-res". */
.previewonly{filter:blur(1.5px) saturate(.95); image-rendering:auto}
.pvnote,.lbnote{display:flex; align-items:center; justify-content:center; gap:7px;
  margin:10px auto 0; padding:6px 14px; border-radius:99px; font-size:12px; font-weight:600;
  background:rgba(11,31,58,.72); color:#fff; width:max-content; max-width:100%}
.lbnote{position:absolute; left:50%; transform:translateX(-50%); bottom:54px; margin:0; z-index:3}
.pvnote .spinner,.lbnote .spinner{width:11px; height:11px; border-width:2px}
.filecard.pending{opacity:.8}
.filecard.pending .spinner{width:9px; height:9px; border-width:2px; vertical-align:-1px; margin:0 2px}

/* avatars beside conversation messages */
.msg{position:relative}
.msgav{width:26px;height:26px;border-radius:8px;overflow:hidden;flex:0 0 26px;align-self:flex-end;margin-bottom:2px}
.msgav.spacer{visibility:hidden}
.msgav canvas,.msgav img{width:100%;height:100%;object-fit:cover;display:block;border-radius:8px}
.msg .msgav{margin-right:6px}
.msg.me .msgav{margin-right:0;margin-left:6px}   /* row-reverse puts the first child on the right already */

/* ===================== font size (Settings > Font size) ===================== */
[data-fs="large"] .msg .bub{font-size:15px}
[data-fs="large"] #msgIn{font-size:15px}
[data-fs="large"] .chatrow .nm{font-size:14.5px}
[data-fs="large"] .chatrow .pv{font-size:13px}
[data-fs="large"] .msg .quote{font-size:13px}
[data-fs="xl"] .msg .bub{font-size:17px}
[data-fs="xl"] #msgIn{font-size:17px}
[data-fs="xl"] .chatrow .nm{font-size:16px}
[data-fs="xl"] .chatrow .pv{font-size:14px}
[data-fs="xl"] .msg .quote{font-size:14.5px}

/* ===================== alternate chat backgrounds (Settings > Chat background) =====================
   "words": ITZA-paired uplifting statements (Eli's list) as a light watermark.
   "plain": no watermark. Pyramids remain the default. */
[data-bg="words"] #msgscroll{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22620%22%20height%3D%22720%22%3E%3Ctext%20x%3D%2226%22%20y%3D%2252%22%20transform%3D%22rotate%28-7%2026%2052%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2219%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EBelieve%20in%20Yourself%20-%20ITZA%20Powerful%20Thing%3C/text%3E%3Ctext%20x%3D%22330%22%20y%3D%2244%22%20transform%3D%22rotate%285%20330%2044%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Great%20Day%20to%20Grow%3C/text%3E%3Ctext%20x%3D%2260%22%20y%3D%22132%22%20transform%3D%22rotate%284%2060%20132%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Time%20to%20Shine%3C/text%3E%3Ctext%20x%3D%22330%22%20y%3D%22128%22%20transform%3D%22rotate%28-5%20330%20128%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EITZA%20New%20Beginning%3C/text%3E%3Ctext%20x%3D%2230%22%20y%3D%22212%22%20transform%3D%22rotate%286%2030%20212%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EITZA%20Better%20Tomorrow%3C/text%3E%3Ctext%20x%3D%22330%22%20y%3D%22214%22%20transform%3D%22rotate%28-6%20330%20214%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Fresh%20Start%3C/text%3E%3Ctext%20x%3D%2270%22%20y%3D%22296%22%20transform%3D%22rotate%28-4%2070%20296%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20New%20Chapter%3C/text%3E%3Ctext%20x%3D%22300%22%20y%3D%22296%22%20transform%3D%22rotate%285%20300%20296%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EITZA%20Dream%20Worth%20Chasing%3C/text%3E%3Ctext%20x%3D%2236%22%20y%3D%22378%22%20transform%3D%22rotate%285%2036%20378%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EITZA%20Never%20Too%20Late%3C/text%3E%3Ctext%20x%3D%22320%22%20y%3D%22376%22%20transform%3D%22rotate%28-5%20320%20376%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Worth%20the%20Effort%3C/text%3E%3Ctext%20x%3D%2260%22%20y%3D%22458%22%20transform%3D%22rotate%28-5%2060%20458%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Journey%20Worth%20Taking%3C/text%3E%3Ctext%20x%3D%22330%22%20y%3D%22458%22%20transform%3D%22rotate%284%20330%20458%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EITZA%20Great%20Day%20to%20Win%3C/text%3E%3Ctext%20x%3D%2240%22%20y%3D%22538%22%20transform%3D%22rotate%284%2040%20538%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EITZA%20Story%20Worth%20Telling%3C/text%3E%3Ctext%20x%3D%22320%22%20y%3D%22540%22%20transform%3D%22rotate%28-4%20320%20540%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Worth%20Believing%3C/text%3E%3Ctext%20x%3D%2266%22%20y%3D%22618%22%20transform%3D%22rotate%28-5%2066%20618%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Chance%20to%20Begin%20Again%3C/text%3E%3Ctext%20x%3D%22330%22%20y%3D%22620%22%20transform%3D%22rotate%285%20330%20620%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%230c7ffb%22%20opacity%3D%220.13%22%3EITZA%20Your%20Best%20Chapter%20Yet%3C/text%3E%3Ctext%20x%3D%22150%22%20y%3D%22688%22%20transform%3D%22rotate%283%20150%20688%29%22%20font-family%3D%22Segoe%20UI%2CArial%2Csans-serif%22%20font-weight%3D%22700%22%20font-size%3D%2218%22%20fill%3D%22%23f5c711%22%20opacity%3D%220.13%22%3EITZA%20Worth%20Fighting%20For%3C/text%3E%3C/svg%3E") !important;
  background-size:620px 720px;
}
[data-bg="plain"] #msgscroll{
  background-image:none !important;
}

/* ===================== photo albums + lightbox ===================== */
.bub.album-bub{padding:4px 4px 3px}
.album{display:grid; grid-template-columns:1fr 1fr; gap:3px; width:276px}
.albcell{position:relative; width:136px; height:136px; overflow:hidden; border-radius:7px; cursor:pointer; background:var(--bg3)}
.albcell img{width:100%; height:100%; object-fit:cover; display:block; max-width:none; max-height:none}
.albcell .mediabox.albfill{width:100%; height:100%; display:flex; align-items:center; justify-content:center}
.albcell .body{width:100%; height:100%}
.albcell .body img{width:100%; height:100%; object-fit:cover; max-width:none; max-height:none; border-radius:0}
.albmore{position:absolute; inset:0; background:rgba(0,0,0,.45); color:#fff; font-size:26px; font-weight:700; display:flex; align-items:center; justify-content:center; pointer-events:none}
.album-bub .metaline{padding:2px 6px 1px}
#lightbox{position:fixed; inset:0; background:rgba(6,14,26,.92); z-index:400; display:none; align-items:center; justify-content:center}
#lightbox.on{display:flex}
#lightbox img{max-width:92vw; max-height:88vh; border-radius:6px; box-shadow:0 8px 40px rgba(0,0,0,.6)}
#lightbox .lbx{position:absolute; top:14px; right:18px; color:#fff; font-size:22px; padding:8px}
#lightbox .lbnav{position:absolute; top:50%; transform:translateY(-50%); color:#fff; font-size:34px; padding:14px 18px; opacity:.8}
#lightbox .lbnav:hover{opacity:1}
#lightbox .lbprev{left:8px}
#lightbox .lbnext{right:8px}
#lightbox .lbcount{position:absolute; bottom:16px; left:50%; transform:translateX(-50%); color:#fff; font-size:13px; background:rgba(0,0,0,.4); padding:3px 12px; border-radius:99px}

/* ===================== the coin button (money/credit) =====================
   Rounded square "coin" bearing the cedi-style stroked C. Size and color track
   the remaining credit: plenty = big green, mid = yellow, low = red.
   lvl-off = credits disabled (pre-mint): neutral gold, fixed size. */
.coinbtn{border-radius:5px; display:flex; align-items:center; justify-content:center;
  font-weight:800; transition:width .25s,height .25s,background .25s,font-size .25s;
  box-shadow:inset 0 -2px 3px rgba(0,0,0,.18), inset 0 2px 3px rgba(255,255,255,.35), 0 1px 2px rgba(11,42,74,.25);
  border:1.5px solid rgba(0,0,0,.15); color:#23300a; cursor:pointer; flex:none}
.coinbtn .cg{transform:translateY(-0.5px)}
.coinbtn.lvl-hi {width:34px;height:34px;font-size:19px;background:linear-gradient(145deg,#7ed957,#3fae2a)}
.coinbtn.lvl-mid{width:28px;height:28px;font-size:16px;background:linear-gradient(145deg,#ffe25a,#f5c711)}
.coinbtn.lvl-lo {width:23px;height:23px;font-size:13px;background:linear-gradient(145deg,#ff8a7a,#e5484d);color:#fff}
.coinbtn.lvl-off{width:28px;height:28px;font-size:16px;background:linear-gradient(145deg,#ffe25a,#f5c711);opacity:.85}


/* boot splash - first paint while the ITZA library loads (see index.html) */
#boot{position:fixed; inset:0; z-index:60; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; background:var(--bg); padding:16px}
#boot .pyr{width:52px; height:auto; opacity:.9}
#boot .bootmsg{display:flex; align-items:center; gap:8px; color:var(--ink3); font-size:13px}
#volRange{-webkit-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--line,#d7e3f0);outline:none;padding:0;margin:0}
#volRange::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--acc,#0c7ffb);cursor:pointer;border:none}
#volRange::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--acc,#0c7ffb);cursor:pointer;border:none}
/* money popup: calmer button rows */
#mTop{display:flex;gap:8px;margin:12px 0 4px}
#mTop button{flex:1;padding:7px 0;border-radius:10px;font-weight:700}
#mPaneFunds #mTabs{display:flex;gap:8px;margin:10px 0 12px}
#mPaneFunds #mTabs button{flex:1;padding:6px 0;border-radius:9px}

/* recording indicator */
#recBar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--panel,#fff);border-top:1px solid var(--line,#e3edf7);font-size:13px;color:var(--ink1,#0b2a4a)}
#recBar .recdot{width:10px;height:10px;border-radius:50%;background:#e5484d;animation:recpulse 1.1s ease-in-out infinite;flex:none}
#recBar #recTime{font-variant-numeric:tabular-nums;font-weight:700;min-width:38px}
#recBar .reclbl{color:var(--ink2,#4a6a8a);flex:1}
#recBar #recSend{color:#2f9e44;font-size:17px}
#recBar #recCancel{color:#e5484d;font-size:15px}
@keyframes recpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}
#btnMic.rec{color:#e5484d}

.metaline .edited{font-style:italic;opacity:.75;margin-right:2px}
.recalled{font-style:italic;color:var(--ink2,#4a6a8a)}

/* Typing indicator (Messenger style): an animated bubble at the bottom of the
   open thread, drawn like an incoming message from the peer - it reuses the
   .msg / .bub / .msgav structure, so it already carries the peer's avatar and
   the incoming-bubble look. Only the bouncing dots are new here. The chat-LIST
   preview also flips to "typing...". */
.chatrow .prev.typing{color:var(--acc,#0c7ffb);font-style:italic}
#typingBubble .typing-bub{padding:9px 12px}
.tdots{display:inline-flex;gap:4px;align-items:center}
.tdots i{width:7px;height:7px;border-radius:50%;background:var(--ink3);display:inline-block;animation:tbounce 1.3s infinite ease-in-out}
.tdots i:nth-child(2){animation-delay:.16s}
.tdots i:nth-child(3){animation-delay:.32s}
@keyframes tbounce{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}

/* PWA standalone: respect the notch / status bar safe areas */
@media (display-mode: standalone){
  body{ padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
}
