/* Agoras. This file is served to paying members. The feed behind it, and the timing that makes it worth paying for, are ours. Want one this fast? Learn to build it. Copying ours is theft. */
















































.jp-chat{
  container:jpchat / inline-size;
  --jp-gut:18px;
  --jp-av:36px;
  --jp-face:28px;
  --jp-body:12px;
  --jp-clock:9px;
  --jp-gap:8px;
  --jp-cap:86%;
  --jp-reserve:47px;
  --jp-bubble-min:92px;
  --jp-pad:9px;
}
.jp-chat-h{padding-left:var(--jp-gut);padding-right:var(--jp-gut)}






.jp-chat-live,.jp-chat-here{display:none !important}





.jp-chat-who{
  display:flex;align-items:center;gap:5px;flex-wrap:nowrap;
  


  









  justify-content:flex-start;
  padding:2px calc(var(--jp-gut) + 3px) 12px
          calc(var(--jp-gut) + 3px + var(--jp-face-lead, 0px));
  min-width:0;
  
  border-bottom:1px solid var(--rule);
  margin-bottom:2px;
}
.jp-chat-face{
  flex:none;width:var(--jp-face,28px);height:var(--jp-face,28px);border-radius:50%;
  font-size:11px;font-weight:600;
  

  box-shadow:0 1px 2px rgba(0,0,0,.14), 0 3px 6px -2px rgba(0,0,0,.18);
  transition:transform .16s var(--rf-ease,cubic-bezier(.32,.72,.24,1)),
             box-shadow .16s var(--rf-ease,ease);
  cursor:pointer;
}
.jp-chat-face img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}




@media (hover:hover){
  .jp-chat-who .jp-chat-face:hover{
    transform:scale(1.18);
    box-shadow:0 2px 4px rgba(0,0,0,.18), 0 6px 12px -3px rgba(0,0,0,.26);
    z-index:2;position:relative;
  }
}


.jp-chat-face.is-more{
  display:grid;place-items:center;border:1px dashed var(--rule-2);
  background:var(--tint);color:var(--ink-3);font-size:10.5px;padding:0;
  box-shadow:none;
}
.jp-chat-face.is-more:hover{color:var(--ink);border-color:var(--ink-3)}

.jp-chat-roster{
  position:absolute;z-index:40;top:calc(100% + 6px);right:12px;
  min-width:186px;max-height:240px;overflow-y:auto;padding:5px;
  border-radius:12px;background:var(--raise);
  border:1px solid var(--rule);box-shadow:var(--shadow-pop,0 8px 28px -10px rgba(0,0,0,.3));
  display:flex;flex-direction:column;gap:1px;scrollbar-width:thin;
}
.jp-chat-roster-r{
  display:flex;align-items:center;gap:9px;width:100%;padding:5px 7px;
  border:0;border-radius:8px;background:none;cursor:pointer;text-align:left;
  font:inherit;font-size:12px;color:var(--ink);
}
.jp-chat-roster-r:hover{background:var(--tint)}
.jp-chat-roster-r .jp-chat-face{width:24px;height:24px;cursor:inherit}
.jp-chat-roster-n{flex:1 1 auto;min-width:0;overflow:hidden;
                  text-overflow:ellipsis;white-space:nowrap}
.jp-chat-roster .jp-chat-tag{margin-left:0;flex:none}

.jp-chat-h{position:relative}
.jp-chat-who{position:relative}










.jp-chat-log{gap:1px;
             padding:8px calc(var(--jp-gut) + 2px) 20px !important}
















.jp-chat-day{display:flex;justify-content:center;margin:14px 0 10px;
             pointer-events:none}





.jp-chat-day-l{padding:3px 11px;border-radius:9999px;
               background:var(--raise);color:var(--ink-3);
               border:1px solid var(--rule);
               box-shadow:0 1px 3px rgba(0,0,0,.10);
               font-size:10.5px;font-weight:600;letter-spacing:.02em;
               white-space:nowrap}









.jp-chat-msg{align-items:flex-end;gap:var(--jp-gap,8px);margin:0 !important;padding:0 !important;
             background:none !important;border:0 !important;border-radius:0;
             margin-top:6px !important}




.jp-chat-msg.is-run{margin-top:2px !important}




.jp-chat-msg:not(.is-me) .jp-chat-col{
  --jp-lead-w:calc(var(--jp-av,36px) + var(--jp-gap,8px));
}
.jp-chat-msg.is-me{flex-direction:row-reverse}
.jp-chat-msg.is-me .jp-chat-av{display:none}






.jp-chat-msg.is-run .jp-chat-av{visibility:hidden !important}






.jp-chat-msg.is-run .jp-chat-meta{display:none !important}




.jp-chat-av{width:var(--jp-av,36px);height:var(--jp-av,36px);
            font-size:calc(var(--jp-av,36px) * .36);align-self:flex-end;
            box-shadow:0 1px 2px rgba(0,0,0,.10)}
.jp-chat-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}


.jp-chat-col{
  flex:0 1 auto;min-width:0;
  





  max-width:min(var(--jp-cap,86%), calc(100% - var(--jp-lead-w, 0px)));
  




  padding:5px var(--jp-pad,10px) 5px;border-radius:13px;
  

  background:var(--raise);
  border:1px solid var(--rule);
  



  box-shadow:0 1px 2px rgba(0,0,0,.07), 0 6px 14px -8px rgba(0,0,0,.18);
}

.jp-chat-msg:not(.is-me) .jp-chat-col{border-bottom-left-radius:5px}




.jp-chat-msg.is-me .jp-chat-col{border-bottom-right-radius:5px;
  background:color-mix(in srgb, var(--ink) 9%, var(--paper-2));
  border-color:transparent}


.jp-chat-msg.is-run:not(.is-me) .jp-chat-col{border-bottom-left-radius:14px}
.jp-chat-msg.is-run.is-me .jp-chat-col{border-bottom-right-radius:14px}







.jp-chat-meta{display:flex;gap:8px;align-items:baseline;margin-bottom:1px;min-width:0}
.jp-chat-who-n{font-size:12px;font-weight:600;color:var(--accent);padding:0;
               background:none;border:0;cursor:pointer;text-align:left}
.jp-chat-msg.is-staff .jp-chat-who-n{color:var(--accent)}
.jp-chat-msg.is-me .jp-chat-who-n{color:var(--ink-2)}


.jp-chat-tag{font-size:9.5px;font-weight:600;
             letter-spacing:.06em;text-transform:uppercase;
             color:var(--ink-3);flex:none}
.jp-chat-msg.is-staff .jp-chat-tag{color:var(--accent)}


.jp-chat-body{font-size:var(--jp-body,12.5px);line-height:1.4;color:var(--ink)}














.jp-chat-col{position:relative;
             







             min-width:var(--jp-bubble-min,102px)}



.jp-chat-when{position:absolute;right:var(--jp-pad,10px);bottom:6px;line-height:1;
              display:block;text-align:right;white-space:nowrap;
              pointer-events:none}








.jp-chat-msg .jp-chat-body::after,
.jp-chat-msg:has(.jp-chat-x) .jp-chat-body::after{
  content:'';display:inline-block;width:var(--jp-reserve,50px);height:1px;
  vertical-align:baseline}
.jp-chat-time{font-size:var(--jp-clock,9.5px);color:var(--ink-3);
              font-variant-numeric:tabular-nums}
.jp-chat-date{display:none}






















.jp-chat-x{
  position:absolute;top:-7px;right:-7px;bottom:auto;left:auto;z-index:3;
  width:19px;height:19px;border-radius:8px;margin:0;font-size:13px;
}



.jp-chat-msg:has(.jp-chat-x) .jp-chat-meta{padding-right:0}






.jp-chat-form{align-items:center;gap:8px;padding:10px 12px 12px;
              background:var(--paper-2);border-top:1px solid var(--rule)}
.jp-chat-form textarea{
  flex:1 1 auto;min-width:0;
  padding:9px 12px;border-radius:18px;
  background:var(--paper);
  border:1px solid var(--rule);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04);
  max-height:104px;
  transition:border-color .14s ease, box-shadow .14s ease;
}
.jp-chat-form textarea:focus{
  outline:none;border-color:var(--ink-3);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04), 0 0 0 3px var(--tint);
}









:root .jp-chat-send,
:root[data-rf] .jp-chat-send{
  width:34px !important;height:34px !important;flex:none;align-self:flex-end;
  border-radius:50% !important;
  background:var(--paper) !important;color:var(--ink-2) !important;
  border:1px solid var(--rule) !important;
  box-shadow:inset 0 1px 0 var(--spec) !important;
  transition:background-color .14s ease,color .14s ease,border-color .14s ease,opacity .12s;
}
:root[data-rf] .jp-chat-send:hover:not(:disabled){background:var(--tint) !important;
  color:var(--ink) !important;border-color:var(--ink-3) !important}
:root[data-rf] .jp-chat-send:disabled{opacity:.5}
.jp-chat-attach{align-self:flex-end}


@media (max-width:860px){
  .jp-chat-col{max-width:84%}
  .jp-chat-av{width:32px;height:32px}
}

















.jp-chat-prof{padding:16px;background:rgba(0,0,0,.28)}






.jp-chat-prof-card{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  grid-template-areas:"av head" "av pres" "facts facts" "note note";
  column-gap:12px;row-gap:0;align-items:center;
  max-width:272px;padding:16px 0 0;text-align:left;border-radius:18px;
  background:var(--raise);border:1px solid var(--rule);
  box-shadow:0 18px 44px -18px rgba(0,0,0,.45),inset 0 1px 0 var(--spec);
  overflow:hidden;
}
.jp-chat-prof-av{grid-area:av;justify-self:center;align-self:start;
  width:56px;height:56px;margin:0;font-size:21px;
  box-shadow:0 1px 3px rgba(0,0,0,.18)}
.jp-chat-prof-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}


.jp-chat-prof-h{grid-area:head;display:flex;align-items:baseline;gap:8px;
  justify-content:flex-start;margin:0;padding-right:44px;min-width:0}
.jp-chat-prof-h .jp-chat-who-n{flex:1 1 auto;min-width:0;font-size:15px;
  font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.jp-chat-prof-h .jp-chat-tag{flex:none;margin:0}

.jp-chat-prof-s{grid-area:pres;justify-self:start;align-self:start;
  margin:7px 0 0;padding:3px 9px;border-radius:9999px;background:var(--tint);
  font-size:10.5px;font-weight:600;color:var(--ink-3);gap:5px}
.jp-chat .jp-chat-prof-s.is-live{color:var(--positive)}













.jp-chat-prof-facts{grid-area:facts;display:grid;
  grid-template-columns:auto minmax(0,1fr);align-items:stretch;
  margin:16px 0 0;padding:0;border-top:1px solid var(--rule);text-align:left}







.jp-chat-prof-facts{background:var(--rule-2);row-gap:1px;column-gap:0}
.jp-chat-prof-t,.jp-chat-prof-v{margin:0;padding:9px 8px;font-size:11.5px;
  background:var(--raise);display:flex;align-items:center}
.jp-chat-prof-t{padding-left:16px;color:var(--ink-3);white-space:nowrap}
.jp-chat-prof-v{padding-right:16px;font-weight:600;color:var(--ink);
  overflow-wrap:anywhere;justify-content:flex-end;text-align:right}
.jp-chat-prof-note{grid-area:note;margin:0;padding:12px 16px 14px;
  border-top:1px solid var(--rule)}

.jp-chat-prof-facts:empty{display:none}
.jp-chat-prof-card{padding-bottom:0}
.jp-chat-prof-s{margin-bottom:16px}

.jp-chat-prof-x{
  top:10px;right:10px;width:24px;height:24px;border-radius:12px;z-index:2;
  border:1px solid var(--rule);background:var(--raise);
  box-shadow:0 1px 2px rgba(0,0,0,.08)}
.jp-chat-prof-x:hover{background:var(--tint);color:var(--ink)}










@keyframes jp-chat-in-l{
  from{opacity:0;transform:translate3d(-10px,6px,0) scale(.97)}
  to{opacity:1;transform:none}
}
@keyframes jp-chat-in-r{
  from{opacity:0;transform:translate3d(10px,6px,0) scale(.97)}
  to{opacity:1;transform:none}
}
.jp-chat-msg.is-new{animation:jp-chat-in-l .26s cubic-bezier(.32,.72,.24,1) both}
.jp-chat-msg.is-new.is-me{animation-name:jp-chat-in-r}

@keyframes jp-chat-send-go{
  0%{transform:none}35%{transform:scale(.88) rotate(-8deg)}100%{transform:none}
}
:root[data-rf] .jp-chat-send:active:not(:disabled){animation:jp-chat-send-go .22s ease}
@media (prefers-reduced-motion:reduce){
  .jp-chat-msg.is-new,.jp-chat-msg.is-new.is-me{animation:none}
  :root[data-rf] .jp-chat-send:active:not(:disabled){animation:none}
}






























































@container jpchat (max-width: 345px){
  .jp-chat > *{
    --jp-gut:14px;
    --jp-av:30px;
    --jp-face:24px;
    --jp-body:11.5px;
    --jp-clock:8.5px;
    --jp-gap:6px;
    --jp-cap:90%;
    --jp-reserve:44px;
    --jp-bubble-min:86px;
    --jp-pad:8px;
  }
  .jp-chat-msg{margin-top:5px !important}
  .jp-chat-who-n{font-size:11px}
  .jp-chat-tag{font-size:8.5px}
  .jp-chat-day{margin:10px 0 7px}
}
@container jpchat (max-width: 262px){
  .jp-chat > *{
    --jp-gut:11px;
    --jp-av:26px;
    --jp-face:22px;
    --jp-body:11px;
    --jp-clock:8.5px;
    --jp-gap:5px;
    --jp-cap:94%;
    --jp-reserve:44px;
    --jp-bubble-min:82px;
    --jp-pad:7px;
  }
  .jp-chat-msg{margin-top:4px !important}
  .jp-chat-col{border-radius:11px}
  .jp-chat-who-n{font-size:10.5px}
  .jp-chat-tag{font-size:8.5px;letter-spacing:.04em}
  .jp-chat-day-l{font-size:9.5px;padding:2px 9px}
  .jp-chat-form{padding:8px 10px 10px}
  .jp-chat-form textarea{padding:7px 10px;font-size:12px}
}





































.jp-chat{--jp-log-bg:color-mix(in srgb, var(--paper-3) 55%, var(--paper-2))}
:root[data-mode="dark"] .jp-chat{--jp-log-bg:color-mix(in srgb, #000 25%, var(--paper-2))}
.jp-chat-log{background:var(--jp-log-bg)}
.jp-chat-msg.is-me .jp-chat-col{background:color-mix(in srgb, var(--ink) 13%, var(--raise))}


.jp-chat-col > .jp-chat-shots{margin-top:7px}
.jp-chat-col:has(> .jp-chat-shots) > .jp-chat-when,
.jp-chat-col:has(> .jp-chat-st:not([hidden])) > .jp-chat-when{position:static;margin-top:5px}
.jp-chat-msg:has(.jp-chat-shots) .jp-chat-body::after,
.jp-chat-msg:has(.jp-chat-st:not([hidden])) .jp-chat-body::after{display:none}


.jp-chat .jp-tk-intro{
  align-self:center;margin:14px auto 6px;max-width:min(92%, 300px);
  padding:7px 12px 8px;border:0;border-radius:12px;text-align:center;
  background:color-mix(in srgb, var(--raise) 60%, transparent);
}
.jp-chat .jp-tk-intro-b{margin-top:2px}


.jp-sup-bar{position:relative}
.jp-sup-more{flex:none;width:26px;height:26px;margin-left:2px;padding:0;
  display:grid;place-items:center;border-radius:50%;cursor:pointer;
  border:1px solid transparent;background:none;color:var(--ink-3);
  transition:color .12s,background-color .12s,border-color .12s}
.jp-sup-more[hidden]{display:none}
.jp-sup-more:hover,.jp-sup-more[aria-expanded="true"]{color:var(--ink);
  background:var(--tint);border-color:var(--rule)}
.jp-sup-more:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.jp-sup-menu{position:absolute;top:calc(100% - 2px);right:10px;z-index:30;
  min-width:184px}
.jp-sup-menu[hidden]{display:none}
.jp-sup-mi{display:flex;align-items:center;gap:9px;width:100%;height:34px;
  padding:0 12px;border:1px solid transparent;border-radius:9999px;
  background:none;cursor:pointer;font:inherit;font-size:12.5px;
  font-weight:600;color:var(--ink-2);text-align:left;white-space:nowrap;
  transition:background .12s,border-color .12s,box-shadow .14s,color .12s}
.jp-sup-mi svg{flex:none}
.jp-sup-mi:hover,.jp-sup-mi:focus-visible{outline:none;color:var(--ink);
  border-color:var(--g-lite-rim);
  background:linear-gradient(180deg,var(--g-lite-a),var(--g-lite-b));
  box-shadow:inset 0 1px 0 var(--g-spec),var(--g-cast)}
.jp-sup-mi.is-armed,.jp-sup-mi.is-armed:hover,.jp-sup-mi.is-armed:focus-visible{
  color:#fff;border-color:var(--danger);background:var(--danger);box-shadow:none}
.jp-sup-mi:disabled{opacity:.6;cursor:default}












































.jp-chat .jp-chat-body{font-size:var(--jp-body, 12px) !important}
.jp-chat .jp-chat-meta .jp-chat-who-n{font-size:11.5px !important}
@container jpchat (max-width: 345px){
  .jp-chat .jp-chat-meta .jp-chat-who-n{font-size:11px !important}
}
@container jpchat (max-width: 262px){
  .jp-chat .jp-chat-meta .jp-chat-who-n{font-size:10.5px !important}
}


.jp-chat-who{margin-bottom:0}




.jp-chat{--jp-step:.26s var(--rf-ease, cubic-bezier(.32,.72,0,1))}






.jp-chat.is-booted :is(.jp-chat-body,.jp-chat-time,.jp-chat-who-n,.jp-chat-tag){transition:font-size var(--jp-step)}
.jp-chat.is-booted .jp-chat-col{transition:padding var(--jp-step), min-width var(--jp-step),
                                           max-width var(--jp-step), border-radius var(--jp-step)}
.jp-chat.is-booted .jp-chat-msg{transition:gap var(--jp-step), margin-top var(--jp-step)}
.jp-chat.is-booted .jp-chat-msg .jp-chat-body::after{transition:width var(--jp-step)}
.jp-chat.is-booted .jp-chat-when{transition:right var(--jp-step)}
.jp-chat.is-booted .jp-chat-day{transition:margin var(--jp-step)}
.jp-chat.is-booted .jp-chat-day-l{transition:font-size var(--jp-step), padding var(--jp-step)}
.jp-chat.is-booted :is(.jp-chat-h,.jp-chat-log,.jp-chat-form){transition:padding var(--jp-step)}
.jp-chat.is-booted .jp-chat-form textarea{transition:border-color .14s ease, box-shadow .14s ease,
                                                     padding var(--jp-step), font-size var(--jp-step)}
@media (prefers-reduced-motion:reduce){
  .jp-chat.is-booted :is(.jp-chat-av,.jp-chat-body,.jp-chat-time,.jp-chat-who-n,.jp-chat-tag,
    .jp-chat-col,.jp-chat-msg,.jp-chat-when,.jp-chat-day,.jp-chat-day-l,.jp-chat-h,
    .jp-chat-log,.jp-chat-form,.jp-chat-face){transition:none}
  .jp-chat.is-booted .jp-chat-msg .jp-chat-body::after{transition:none}
  .jp-chat.is-booted .jp-chat-form textarea{transition:border-color .14s ease, box-shadow .14s ease}
}




































:root[data-rf] .jp-chat{--jp-edge:28px;--jp-edge-top:32px}
:root[data-rf] .jp-chat-h,
:root[data-rf] .jp-chat-who{position:relative;z-index:3}
:root[data-rf] .jp-chat-h::before{
  content:"";position:absolute;left:0;right:0;top:0;z-index:-1;
  height:calc(var(--jp-chat-top, 0px) + var(--jp-edge-top));
  pointer-events:none;
  
  background:linear-gradient(to bottom,
    var(--paper-2) 0,
    var(--paper-2) calc(100% - var(--jp-edge-top)),
    var(--jp-log-bg) calc(100% - var(--jp-edge-top)),
    color-mix(in srgb, var(--jp-log-bg) 85%, transparent) calc(100% - var(--jp-edge-top) * .6),
    color-mix(in srgb, var(--jp-log-bg) 50%, transparent) calc(100% - var(--jp-edge-top) * .3),
    transparent 100%);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-mask-image:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--jp-edge-top)), transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0, #000 calc(100% - var(--jp-edge-top)), transparent 100%);
}

:root[data-rf] .jp-chat.is-off .jp-chat-h::before{display:none}





:root[data-rf] .jp-chat.is-support .jp-chat-h::before,
:root[data-rf] .jp-chat.is-support .jp-chat-log::after{display:none}
:root[data-rf] .jp-chat.is-support .jp-chat-log{margin-top:0;padding-top:8px !important;padding-bottom:20px !important}
:root[data-rf] .jp-chat-log{
  margin-top:calc(-1 * var(--jp-chat-top, 0px));
  padding-top:calc(var(--jp-chat-top, 0px) + 14px) !important;   
  padding-bottom:12px !important;   
}

:root[data-rf] .jp-chat.is-booted .jp-chat-log{transition:padding-left var(--jp-step), padding-right var(--jp-step)}










:root[data-rf] .jp-chat-form{position:relative;z-index:3}
:root[data-rf] .jp-chat-form::before{
  content:"";position:absolute;left:0;right:0;bottom:100%;z-index:1;
  height:var(--jp-edge);pointer-events:none;
  background:linear-gradient(to top, var(--jp-log-bg) 0, transparent 100%);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  -webkit-mask-image:linear-gradient(to top, #000 0, transparent 100%);
  mask-image:linear-gradient(to top, #000 0, transparent 100%);
  opacity:0;transition:opacity .32s var(--rf-ease, ease);
}
:root[data-rf] .jp-chat.is-away .jp-chat-form::before{opacity:1}
:root[data-rf] .jp-chat.is-support .jp-chat-form::before{display:none}
