
/* Jump-to-comment highlight for mention notifications */
.comment{scroll-margin-top:84px}
.comment:target{
  outline:2px solid rgba(59,130,246,.55);
  box-shadow:0 0 0 4px rgba(59,130,246,.18);
}

:root{--vv-bottom:0px;--iosbar:0px;}
:root{
  /* Boost-like clean white feed */
  --bg:#ffffff;
  --card:#ffffff;
  --text:#111;
  --muted:#6b7280;
  --border:#eceef2;
  --primary:#111;
  --accent:#2563eb; /* active vote/save color */
  --repost-color:#16a34a;
  --pill:#111;
  --pillText:#fff;
  --radius:16px;
  /* Layout width tuning (wider posts, closer to edges) */
  --pageMax:1400px;
  --edgePad:10px;
}

/* Prevent accidental horizontal page scroll on mobile (iOS rubber-band).
   Keep horizontal carousels working by using overflow-x:auto on those containers. */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

/*
  Desktop theme (auto via viewport width)
  Mobile-first base stays unchanged; desktop enhances density, spacing,
  and introduces a 2-column feed grid while keeping post detail pages single-column.
*/

@media (min-width: 980px){
  :root{
    --edgePad:18px;
  }

  body{
    font-size:16px;
    line-height:1.45;
  }

  /* Reduce the huge bottom padding used for the mobile bottom-nav */
  .container{
    padding:calc(76px + env(safe-area-inset-top)) var(--edgePad) 42px;
  }

  /* Hide mobile bottom navigation on desktop */
  .bottomnav{display:none !important;}
  .fab-compose{display:none !important;}

  /* Topbar: slightly denser + more desktop-like */
  .topbar-inner{padding:10px var(--edgePad);}
  .topbar-aud{font-size:18px;}
  .pill{padding:8px 14px;font-size:14px;}

  /* Feed: 2-column grid (keeps infinite scroll markup intact) */
  #post-list{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:16px;
    align-items:start;
  }

  /* Ensure the sentinel/button span full width under the grid */
  #post-list .infinite-sentinel,
  #post-list .load-more{
    grid-column:1 / -1;
  }

  /* Cards: make them feel like desktop tiles */
  .feeditem{
    margin:0;
    border-radius:18px;
    transition:none;
  }
  .feeditem:hover{
    transform:none;
    box-shadow:none;
  }
  .fi-title{font-size:var(--fs-post-title);}
  .fi-text{font-size:var(--fs-post-text);}

  /* Media: slightly taller previews on desktop */
  .fi-media img,
  .fi-media video{
    max-height:520px;
    object-fit:cover;
  }

  /* Compose screen / forms: center and widen */
  .composer{
    max-width:960px;
    margin:0 auto;
  }
  .form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
}

/* Ultra-wide monitors: 3 columns for the feed */
@media (min-width: 1400px){
  #post-list{grid-template-columns: 1fr 1fr 1fr;}
}

/* Post detail page: always single-column (better reading) */
@media (min-width: 980px){
  body.is-post #post-list{display:block;}
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-site,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif);
  font-size:15.5px;
  line-height:var(--font-body-line,1.4);
  letter-spacing:var(--font-body-track,0);
  background:var(--bg);
  color:var(--text);
  text-rendering:optimizeLegibility;
  /* avoid sideways swipe/drag on mobile when a child overflows a pixel */
  touch-action: pan-y;
  overscroll-behavior-x: none;
}


body, button, input, select, textarea{
  font-family:var(--font-site,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif);
}

button,input,select,textarea,.btn,.chip,.tab,.pill{
  letter-spacing:var(--font-body-track,0);
}


/* =============================
   9GAG-like visual theme layer
   (CSS-only; no functional changes)
   ============================= */

/* Topbar brand + menu */
.topbar-inner{gap:10px}
.iconbtn{width:40px;height:40px;border-radius:12px}
.iconbtn-menu{margin-left:-6px}
.topbar-brand{
  font-weight:var(--font-title-weight,800);
  font-size:18px;
  letter-spacing:.2px;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:44vw;
}
/* When a logo is set, show only the logo (clickable to Home). */
.topbar-logo-link{display:inline-flex;align-items:center;gap:8px;max-width:44vw}
/* Show site logo next to the wordmark (requested). */
.topbar-logo{display:inline-block}

.topbar-avatar{
  width:34px;height:34px;
  border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.topbar-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.topbar-avatar svg{width:20px;height:20px}

/* Tabs row (Home / Top / Trending / Fresh) */
.seg-9gag{
  position:sticky;
  top:calc(56px + env(safe-area-inset-top));
  z-index:40;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:0;
  padding:10px var(--edgePad) 0;
  margin:0 calc(-1 * var(--edgePad));
}
.seg-9gag .seg-btn{
  flex:1 1 0;
  min-width:0;
  text-align:center;
  background:transparent;
  border:none;
  padding:0 6px 12px;
  border-radius:0;
  font-weight:800;
  font-size:clamp(16px,4.7vw,22px);
  line-height:1.15;
  color:#8a8f98;
  white-space:nowrap;
}
.seg-9gag .seg-btn.active{
  background:transparent;
  color:#111;
  box-shadow:inset 0 -4px 0 #111;
}
@media (min-width: 768px){
  .seg-9gag{
    justify-content:flex-start;
    gap:24px;
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .seg-9gag::-webkit-scrollbar{display:none}
  .seg-9gag .seg-btn{
    flex:0 0 auto;
    padding-left:0;
    padding-right:0;
    font-size:18px;
  }
}

/* Topic chips row */
.chips{
  display:flex;
  gap:10px;
  padding:10px var(--edgePad);
  margin:0 calc(-1 * var(--edgePad));
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.chips::-webkit-scrollbar{display:none}
.chip{
  display:inline-flex;
  align-items:center;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  font-weight:600;
  color:#2b2f36;
  white-space:nowrap;
}
.chip:active{transform:scale(.99)}

/* Drawer */
.drawer{position:fixed;inset:0;z-index:120;pointer-events:none}
.drawer[aria-hidden="true"]{display:none}
.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;transition:opacity .18s ease}
.drawer-panel{
  position:absolute;left:0;top:0;bottom:0;
  width:min(84vw, 360px);
  background:#fff;
  transform:translateX(-102%);
  transition:transform .18s ease;
  box-shadow:0 14px 40px rgba(0,0,0,.22);
  display:flex;flex-direction:column;
  padding-top:env(safe-area-inset-top);

  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.drawer.is-open{pointer-events:auto}
.drawer.is-open .drawer-backdrop{opacity:1}
.drawer.is-open .drawer-panel{transform:translateX(0)}

.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid var(--border)}
.drawer-home{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}
.drawer-home__ico{font-size:18px;opacity:.85}
.drawer-close{width:40px;height:40px;border-radius:12px;border:1px solid rgba(0,0,0,.10);background:#fff;font-size:24px;line-height:1}

.drawer-section{padding:12px 10px}
.drawer-title{font-size:13px;color:#8a8f98;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:6px 6px 10px}
.drawer-list{overflow:auto;padding-bottom:10px}
.drawer-item{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:12px;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}
.drawer-item:hover{background:rgba(0,0,0,.04)}
.drawer-item.is-active{background:rgba(191,219,254,.38);box-shadow:inset 0 0 0 1px rgba(147,197,253,.32)}
.drawer-item--discover{justify-content:space-between;gap:10px;padding-right:6px}
.drawer-item--discover:hover{background:transparent}
.drawer-item__main{display:flex;align-items:center;gap:12px;min-width:0;flex:1;padding:0}
.drawer-view-switch{display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid rgba(0,0,0,.10);border-radius:999px;background:#fff;flex:0 0 auto}
.drawer-view-switch__btn{width:34px;height:30px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#7b818a;text-decoration:none;font-weight:800;font-size:18px;line-height:1}
.drawer-view-switch__btn.is-on{background:#111;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.drawer-view-switch__icon{display:block;transform:translateY(-.5px)}
.drawer-ico{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:#6b7280;flex:0 0 22px}
.drawer-ico svg{width:22px;height:22px;display:block;overflow:visible;stroke:currentColor;fill:none;stroke-width:2;vector-effect:non-scaling-stroke}
.drawer-item:hover .drawer-ico{color:#111}
.fi-more,.iconbtn.more{position:relative;z-index:6;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.fi-more svg,.iconbtn.more svg{pointer-events:none}
.drawer-lbl{font-weight:650;color:#111}
.drawer-badge{
  margin-left:auto;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:2px 7px;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
}
.drawer-empty{padding:10px;color:#6b7280}

.drawer-logout{margin:0}
.drawer-logout__btn{all:unset;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;color:inherit;display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:12px}
.drawer-logout__btn:hover{background:rgba(0,0,0,.04)}
.desktop-drawer-sidebar .drawer-logout__btn{padding:13px 12px;}

/* Tighten container spacing: tabs + chips add vertical height */
.container{padding-top:calc(60px + env(safe-area-inset-top))}


a{color:inherit;text-decoration:none}
.container{
  max-width:var(--pageMax);
  margin:0 auto;
  /* Leave room for the fixed topbar + iOS safe area */
  padding:calc(72px + env(safe-area-inset-top)) var(--edgePad) 92px;
}

.topbar{
  position:fixed;top:0;left:0;right:0;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(236,238,242,.9);
  z-index:50;
  padding-top: env(safe-area-inset-top);
}
.topbar-inner{
  max-width:var(--pageMax);margin:0 auto;padding:12px var(--edgePad);
  display:flex;align-items:center;justify-content:space-between;
}
.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}
.topbar-logo{width:24px;height:24px;border-radius:8px;object-fit:cover;border:1px solid rgba(229,231,235,.9);background:#fff;flex:0 0 auto}
.topbar-logo.logo-dark{display:none}
:root[data-theme="dark"] .topbar-logo.logo-light{display:none}
:root[data-theme="dark"] .topbar-logo.logo-dark{display:inline-block}
.topbar-aud{font-weight:700;font-size:18px;display:inline-flex;gap:6px;align-items:center}
.topbar-aud .chev{font-size:14px;color:var(--muted)}
.topbar-right{display:flex;gap:10px;align-items:center}
/* Make pill buttons/links always readable in the topbar (Login/Logout). */
.topbar-right .pill{color:#111 !important}
.dark .topbar-right .pill{color:#111 !important;background:#fff;border-color:rgba(0,0,0,.10)}

.topbar-back{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  border-radius:12px;
  font-size:18px;
  color:var(--text);
}
.topbar-title{
  font-weight:800;
  font-size:18px;
}

.pill{
  padding:8px 12px;border-radius:999px;border:1px solid var(--border);
  background:var(--card);font-weight:600;font-size:14px;
}

/* Follow button states (lists, compact) */
.pill.follow-on{background:#111;color:#fff;border-color:#111;}
.pill.follow-on:hover{opacity:.92;}
:root[data-theme="dark"] .pill.follow-on{background:rgba(229,231,235,.92) !important;color:#0b0f14 !important;border-color:var(--border) !important;}
.pill-new{
  display:inline-block;
  padding:2px 8px;
  font-size:12px;
  line-height:18px;
  border-radius:999px;
  border:1px solid rgba(31,111,255,.25);
  color:#1f6fff;
  background:rgba(31,111,255,.08);
  vertical-align:middle;
}
.iconbtn{
  width:36px;height:36px;border-radius:999px;
  border:1px solid var(--border);background:var(--card);
  display:grid;place-items:center;cursor:pointer;
}
.iconbtn svg{width:18px;height:18px;fill:var(--text)}
.iconbtn.ghost{border-color:transparent;background:transparent}
.iconbtn.ghost svg{fill:var(--muted)}
.iconbtn.more{width:32px;height:32px}

.iconbtn-bell{position:relative}
.topbar-badge{
  position:absolute;
  top:6px; right:6px;
  width:10px; height:10px;
  border-radius:99px;
  background:#1f6fff;
  box-shadow:0 0 0 2px rgba(255,255,255,.98);
}

.notice{
  padding:12px 14px;border-radius:14px;margin:10px 0;
  border:1px solid var(--border);background:var(--card);color:var(--text);
  font-size:14px;
}
.notice.err{border-color:#fecaca;background:#fff1f2}
.notice.ok{border-color:#bbf7d0;background:#f0fdf4}
.notice.warn{border-color:#fde68a;background:#fffbeb}
.notice[data-notice-hidden="1"]{pointer-events:none}

.seg{
  display:flex;
  gap:10px;
  margin:12px 0 16px;
}
.seg-btn{
  flex:1;
  text-align:center;
  padding:12px 12px;
  border-radius:999px;
  border:1px solid transparent;
  background:#e9edf2;
  font-weight:800;
  font-size:14px;
  color:#111;
}
.seg-btn.active{
  background:#111;
  color:#fff;
}

.card{
  background:var(--card);
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
}

.card + .card{margin-top:0}
.post{
  padding:16px 0;
  border-bottom:1px solid var(--border);
}
.post-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:600}
.meta-comm{font-weight:700;color:var(--text)}
.dot{color:#c0c4cc}
.post-link{display:block;margin-top:8px}
.post-title{margin:0 0 6px;font-size:var(--fs-post-title,20px);line-height:var(--font-title-line,1.22);font-weight:var(--post-title-font-weight,var(--font-title-weight,800));letter-spacing:var(--font-title-track,-.02em)}
.post-excerpt{margin:0;color:var(--muted);font-size:var(--fs-post-text,16px);line-height:var(--font-text-line,1.55);letter-spacing:var(--font-text-track,0);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.preview{
  margin-top:12px;
  border:1px solid var(--border);
  border-radius:16px;
  padding:10px;
  display:flex;gap:10px;align-items:stretch;
  background:#fff;
}
.preview-txt{flex:1;min-width:0}
.preview-domain{color:var(--muted);font-size:12px;font-weight:700}
.preview-title{margin-top:4px;font-weight:var(--font-title-weight,700);font-size:calc(var(--fs-post-title,20px) * .78);line-height:var(--font-title-line,1.2);letter-spacing:var(--font-title-track,-.01em);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.preview-img{width:76px;height:76px;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#fff;display:grid;place-items:center}
.preview-img img{width:100%;height:100%;object-fit:cover}
.preview-img.placeholder svg{width:22px;height:22px;fill:var(--muted)}
.media{margin-top:12px;border-radius:18px;overflow:hidden;border:0;background:#fff}
.media img{width:100%;display:block}

.actions{
  margin-top:14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--muted);
}
.boost{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:999px;padding:6px 2px;background:transparent}
.boost.small{padding:4px 6px}
.vbtn{
  border:0;background:transparent;cursor:pointer;padding:4px;border-radius:10px;
  display:grid;place-items:center;
}
.vbtn svg{width:22px;height:22px;fill:var(--muted)}
.vbtn.on{background:#111}
.vbtn.on svg{fill:#fff}
.count{font-weight:800;color:var(--text);font-size:14px;min-width:24px;text-align:center}

.abtn{
  display:inline-flex;align-items:center;gap:6px;
  border:1px solid transparent;background:transparent;color:var(--muted);
  padding:6px 8px;border-radius:12px;cursor:pointer;
}
.abtn svg{width:22px;height:22px;fill:var(--muted)}
.abtn.on svg{fill:#111}
.abtn.on{color:#111}

.bottomnav{
  position:fixed;left:0;right:0;bottom: var(--vv-bottom);
  height:56px;
  background:rgba(255,255,255,.98);
  border-top:1px solid #eceef2;
  backdrop-filter:saturate(180%) blur(14px);
  display:flex;justify-content:space-around;align-items:center;
  padding:8px 10px calc(10px + env(safe-area-inset-bottom) + var(--vv-bottom));
  /* Keep the bottom nav above content, but below modal sheets */
  z-index:80;
  transform: translateZ(0);
}
.bn-item{
  position:relative;
  flex:1;
  width:auto;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  font-size:11px;color:var(--muted);
}
.bn-item svg{width:20px;height:20px;fill:var(--muted)}
.bn-item.active{color:#111}
.bn-item.active svg{fill:#111}
.badge{
  position:absolute;top:-2px;right:18px;
  background:#111;color:#fff;border-radius:999px;
  padding:2px 6px;font-style:normal;font-size:10px;font-weight:800;
}

.form{display:flex;flex-direction:column;gap:10px}
.check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#222;user-select:none;margin:2px 0 2px}
.check input{width:18px;height:18px;accent-color:#111}
.input,textarea,select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;border:1px solid var(--border);
  font-size:15px;background:#fff;
}
textarea{min-height:120px;resize:vertical}
.btn{
  padding:12px 14px;border-radius:14px;border:1px solid #111;background:#111;color:#fff;
  font-weight:800;font-size:15px;cursor:pointer;
}
.btn:disabled{opacity:.4;cursor:not-allowed}
.load-more{display:block;width:100%;margin:12px 0}
.infinite-sentinel{height:1px}
.btn.alt{background:#fff;color:#111;border-color:var(--border)}
.btn.danger{background:#b42318;border-color:#b42318;color:#fff}
.row{display:flex;gap:10px}
.row > *{flex:1}

.kicker{color:var(--muted);font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase}
.h1{margin:2px 0 12px;font-size:20px}
.small{font-size:13px;color:var(--muted)}

.list{display:flex;flex-direction:column;gap:10px}
.item{display:flex;gap:12px;align-items:flex-start}
.avatar{
  width:44px;height:44px;border-radius:14px;border:1px solid var(--border);
  overflow:hidden;background:#fff;flex:0 0 auto;
}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.sm{width:34px;height:34px;border-radius:12px}
.item-main{flex:1;min-width:0}
.item-right{margin-left:auto;align-self:center;}
.item-title{font-weight:900}
.item-sub{color:var(--muted);font-size:13px;margin-top:2px}
.user-list-title-link{color:inherit;text-decoration:none}.user-list-title-link:hover{text-decoration:none}.item-sub-stats{display:block;line-height:1.35;margin-top:4px;white-space:normal}
.search-channel-desc{line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;word-break:break-word;}
.tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--muted);font-weight:800}
.opbadge{font-size:11px;font-weight:900;padding:2px 6px;border-radius:999px;background:#111;color:#fff}

.comment{
  position:relative;
  margin-top:14px;
  padding:10px 0 0;
  background:transparent;
}
/* threaded indent + guide line */
.comment{ padding-left: calc(var(--d,0) * 18px); }
.comment.is-reply{
  margin-left:0;
}
.comment.is-reply::before{
  content:"";
  position:absolute;
  left: calc((var(--d,0) * 18px) - 10px);
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--border);
  opacity: .9;
}
/* reply bubble */
.comment.is-reply{
  background:#f5f6f7;
  border-radius:14px;
  padding:12px;
  padding-left: calc((var(--d,0) * 18px) + 12px);
}
.comment-head{
  display:flex;
  align-items:center;
  gap:0;
  color:var(--muted);
  font-size:14px;
  line-height:1;
}
.comment-head .av{ flex:0 0 auto; }
.c-user{
  font-weight:900;
  color:#111;
  text-decoration:none;
}
.c-time{ margin-left:4px; font-size:13px; color:var(--muted); }
.comment-body{
  margin-top:10px;
  color:#111;
  line-height:var(--font-comment-line,1.45);
  letter-spacing:var(--font-comment-track,0);
  font-size:var(--fs-comment,16px);
}
.comment-bar{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:14px;
  color:var(--muted);
}
.c-vote{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
}
.c-vote .vbtn{
  width:28px;height:28px;
  border-radius:10px;
}
.c-vote .count{
  min-width:18px;
  text-align:center;
  font-weight:800;
  color:var(--text);
}
.c-reply{
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  background:transparent;
  color:#111;
  font-weight:800;
  padding:6px 8px;
  border-radius:10px;
}
.c-reply svg{ opacity:.7; }
.comment-bar .more{ margin-left:auto; }

/* Comment media */
.comment-media{ margin-top:10px; }
.comment-media img{ width:100%; max-width:360px; border-radius:14px; border:1px solid var(--border); display:block; }

/* Fixed bottom comment composer (post page) */
body.has-comment-composer #comments{ margin-bottom:120px; }
body.has-comment-composer .bottomnav,
body.has-comment-composer .fab-compose{ display:none !important; }
body.has-comment-composer .container{ padding-bottom: 96px !important; }
.comment-composer{
  position:fixed;left:0;right:0;
  bottom: var(--vv-bottom, 0px);
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid #e6e8ee;
  z-index:79;
  transform: translateZ(0);
}
.comment-composer__bar{ display:flex; align-items:center; gap:10px; }
.comment-composer__input{ flex:1; position:relative; }
.cc-input{
  width:100%;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid #e6e8ee;
  background:#fff;
  font-size:15px;
}
.cc-btn{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid #e6e8ee;
  background:#fff;
  padding:0;
  display:inline-flex;align-items:center;justify-content:center;
}
.cc-btn svg{ width:20px;height:20px; fill:#111; }
.cc-btn.on{ border-color:#111; }
.cc-img{ position:relative; overflow:hidden; background-size:cover; background-position:center; background-repeat:no-repeat; }
.cc-img-icon{ display:inline-flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.cc-img-bg{ position:absolute; inset:0; z-index:0; display:block; border-radius:11px; background-size:cover; background-position:center; background-repeat:no-repeat; pointer-events:none; }
.cc-img-bg[hidden]{ display:none !important; }
.cc-img-thumb{ position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; display:block; border-radius:11px; background:#f3f4f6; pointer-events:none; }
.cc-img-thumb[hidden]{ display:none !important; }
.cc-img-clear{ position:absolute; top:2px; right:2px; z-index:3; width:16px; height:16px; border-radius:999px; background:rgba(17,24,39,.88); color:#fff; font-size:13px; line-height:16px; text-align:center; font-weight:900; box-shadow:0 1px 4px rgba(0,0,0,.18); }
.cc-img-clear[hidden]{ display:none !important; }
.cc-img.has-preview .cc-img-icon{ display:none !important; }
.cc-img.has-preview .cc-img-bg,
.cc-img.has-preview .cc-img-thumb{ display:block !important; }
.cc-img.has-preview .cc-img-clear{ display:block !important; }
.cc-btn.on.cc-img.has-preview{ border-color:#1677ff; background-color:#fff; padding:0; }

.cc-send{
  flex:0 0 auto;
  height:40px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid #111;
  background:#111;
  color:#fff;
  font-weight:900;
  font-size:14px;
}

/* Upload progress (comment media) */
.comment-composer__progress{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 2px;
}
.comment-composer__progress[hidden]{display:none !important;}
.cc-progress-track{
  flex:1;
  height:6px;
  border-radius:999px;
  background:#eef1f6;
  overflow:hidden;
}
.cc-progress-bar{
  height:100%;
  width:0%;
  background:var(--accent);
}
.cc-progress-pct{
  min-width:38px;
  text-align:right;
  font-size:12px;
  color:var(--muted);
  font-weight:800;
}

.cc-gif span{ font-size:11px; font-weight:900; letter-spacing:.02em; color:#1677ff; }
.cc-btn.on.cc-gif{ border-color:#1677ff; background:rgba(22,119,255,.06); }
.comment-composer__imagepreview{ margin-top:8px; }
.comment-composer__imagepreview[hidden]{ display:none !important; }
.cc-image-chip{ display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:6px 10px; border:1px solid #e6e8ee; border-radius:16px; background:#fff; box-shadow:0 4px 14px rgba(15,23,42,.06); }
.cc-image-chip img{ width:46px; height:46px; object-fit:cover; border-radius:10px; display:block; background:#f3f4f6; }
.cc-image-chip span{ min-width:0; max-width:min(260px, 62vw); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:800; color:#111; }
.cc-image-clear{ border:0; background:transparent; padding:0 2px; font-size:22px; line-height:1; color:#7b818a; cursor:pointer; }
.cc-btn.on.cc-img{ border-color:#1677ff; background:rgba(22,119,255,.06); }
.cc-btn.on.cc-img.has-preview{ background:#fff; }
.comment-composer__pickedgif{ margin-top:8px; }
.cc-gif-chip{ display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:6px 10px; border:1px solid #e6e8ee; border-radius:999px; background:#fff; }
.cc-gif-chip img{ width:34px; height:34px; object-fit:cover; border-radius:8px; display:block; }
.cc-gif-chip span{ font-size:13px; font-weight:800; color:#111; }
.cc-gif-clear{ border:0; background:transparent; padding:0 2px; font-size:22px; line-height:1; color:#7b818a; }
.gif-sheet[hidden]{ display:none !important; }
.gif-sheet{ position:fixed; inset:0; z-index:120; }
.gif-sheet__backdrop{ position:absolute; inset:0; background:rgba(17,24,39,.38); }
.gif-sheet__panel{ position:absolute; left:0; right:0; bottom:0; background:#fff; border-radius:18px 18px 0 0; padding:10px 12px calc(14px + env(safe-area-inset-bottom)); max-height:min(78vh, 720px); display:flex; flex-direction:column; box-shadow:0 -10px 30px rgba(0,0,0,.12); }
.gif-sheet__head{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 2px 10px; }
.gif-sheet__title{ font-weight:900; font-size:16px; color:#111; }
.gif-sheet__cancel,.gif-sheet__done{ border:0; background:transparent; padding:4px 2px; font-size:14px; font-weight:800; color:#1677ff; }
.gif-sheet__search{ padding-bottom:8px; }
.gif-sheet__input{ width:100%; border:1px solid #e6e8ee; border-radius:14px; padding:12px 14px; font-size:15px; background:#fff; }
.gif-sheet__hint{ font-size:12px; font-weight:800; color:#7b818a; padding:2px 2px 8px; }
.gif-sheet__grid{ overflow:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.gif-sheet__item{ border:0; background:#f5f7fb; border-radius:14px; padding:0; overflow:hidden; aspect-ratio:1 / 1; }
.gif-sheet__item img{ width:100%; height:100%; object-fit:cover; display:block; }
.gif-sheet__status{ grid-column:1 / -1; padding:24px 8px; text-align:center; color:#7b818a; font-weight:700; }
body.has-open-sheet .bottomnav, body.has-open-sheet .fab-compose{ display:none !important; }

/* Hide the floating compose FAB on post detail pages (it overlaps the comment bar) */
body.is-post .fab-compose{ display:none !important; }

.profile-head{display:flex;gap:12px;align-items:center}
.profile-meta{flex:1}
.profile-name{font-size:18px;font-weight:950;margin:0}
.profile-joined{margin:3px 0 0;color:var(--muted);font-size:13px}
.stats{display:flex;gap:10px;margin-top:12px}

/* =========================
   Boost-like feed (exact-ish)
   ========================= */

/* page background and spacing */
body{background:#fff}
.container{padding:64px var(--edgePad) 96px; max-width:var(--pageMax); margin:0 auto}

/* topbar: flat white */
.topbar{background:#fff; backdrop-filter:none; border-bottom:1px solid #eceef2}
/* Make header taller and let the logo fill the height with 1px top/bottom breathing room */
.topbar-inner{height:64px; padding:0 var(--edgePad)}
.topbar-left{height:100%}
.topbar-logo{
  height:calc(100% - 2px);
  width:auto;
  max-height:calc(100% - 2px);
  /* Prevent wide wordmark logos from taking over the header on mobile */
  max-width:180px;
  object-fit:contain;
  border-radius:10px;
  border:1px solid rgba(229,231,235,.9);
  background:#fff;
}
.topbar-aud{font-size:22px; font-weight:800}

/* feed item: no card, just padding + divider */
.feeditem{padding:12px var(--edgePad) 14px; border-bottom:1px solid #f0f2f5}
.feeditem:last-child{border-bottom:0}
.feeditem[data-open]{cursor:pointer}
.feeditem[data-open]:active{background:rgba(0,0,0,.03)}

.fi-head{display:flex; align-items:center; gap:10px; color:#8b9099; font-size:14px}
.fi-comm{color:#111; font-weight:800}
.fi-dot{opacity:.7}
.fi-time{color:#9aa0a6}
.fi-more{margin-left:auto; border:0; background:transparent; padding:6px; border-radius:10px; color:#9aa0a6}
.fi-more svg{width:18px;height:18px; fill:#9aa0a6}

.fi-channel-row{margin:4px 0 6px}
.fi-channel-bottom{display:inline-flex; align-items:center; font-size:14px; line-height:1.2}

/* X/Twitter-like post layout: avatar in dedicated left column */
.fi-shell{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:12px;align-items:start}
.fi-avatarcol{grid-column:1;grid-row:1 / span 2;display:flex;align-items:flex-start;justify-content:center;padding-top:0}
.fi-contentcol{grid-column:2;min-width:0}
.fi-avatarlink{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;position:relative;z-index:3}
.fi-avatarlink:active{opacity:.9}
.fi-avatarlink img{display:block}

.av-post{width:48px;height:48px}
.fi-head{display:flex; align-items:center; gap:8px; color:#8b9099; font-size:14px; min-width:0; line-height:1.02; margin-bottom:-7px}
.fi-body{display:block; margin-top:0}
.fi-repostbar{margin-left:68px}

/* repost label (Twitter-like) */
.fi-repostbar{display:flex; align-items:center; gap:8px; margin:0 0 6px; color:var(--repost-color,#16a34a); font-size:13px; font-weight:800}
.fi-repostbar svg{width:16px;height:16px; fill:currentColor}
.fi-repost-by{color:inherit; text-decoration:none}
.fi-repostbar .user-handle-link,
.fi-repostbar .user-handle-text,
.fi-repostbar a{color:var(--repost-color,#16a34a) !important}
.fi-repost-by:active{opacity:.8}
.fi-repost-txt{font-weight:800; opacity:1}

.fi-body{display:block; margin-top:0}
.fi-main{position:relative}
.fi-open{position:absolute; inset:0; z-index:1; display:block; text-decoration:none}
.fi-main > *{position:relative; z-index:2}
.fi-titlelink{color:inherit; text-decoration:none}
.fi-titlelink:active{opacity:.85}
.fi-title{margin:0; font-size:var(--fs-post-title,20px); line-height:var(--font-title-line,1.22); font-weight:var(--font-title-weight,900); letter-spacing:var(--font-title-track,-.01em)}
.fi-main > .fi-title:first-child,
.fi-main > .fi-text:first-child,
.fi-main > .fi-link-minimal:first-child,
.fi-main > .fi-media:first-child,
.fi-main > .fi-media-grid:first-child{margin-top:0 !important}
.feeditem .fi-main > .fi-title:first-child{margin-top:7px !important}
.feeditem .fi-main > .fi-text:first-child{margin-top:-1px !important}
.fi-text{margin:6px 0 0; color:#3b3f46; font-size:var(--fs-post-text,16px); line-height:var(--font-text-line,1.45); letter-spacing:var(--font-text-track,0)}

.fi-link-minimal-title,.preview-title,.urlpv-title{font-size:calc(var(--fs-post-title,20px) * .78)}
.fi-link-minimal-desc,.preview-desc,.urlpv-desc{font-size:calc(var(--fs-post-text,16px) * .84)}

/* feed text preview clamp */
.fi-text{display:block}
.fi-text-body{display:block}
.fi-text.fi-text-preview .fi-text-body{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:var(--feed-post-text-preview-lines, 5);
  overflow:hidden;
  white-space:normal;
}

/* Prevent long unbroken strings from overflowing cards (e.g. iOS Safari) */
.fi-title,.fi-text,.fi-link-title,.fi-link-desc{overflow-wrap:anywhere;word-break:break-word;hyphens:auto}

/* big image like Boost */
.fi-media{margin-top:12px; border-radius:22px; overflow:hidden; background:#fff; width:min(100%, var(--current-post-media-width, var(--post-media-width,100%))); margin-left:var(--current-post-media-margin-left, var(--post-media-margin-left,auto)); margin-right:var(--current-post-media-margin-right, var(--post-media-margin-right,auto))}
.fi-media img{width:100%; display:block}
.fi-media video{width:100%; display:block; max-height:70vh; background:#000}
.fi-media-linkout{display:block; width:100%; color:inherit; text-decoration:none}
.fi-media-linkout img{display:block; width:100%}
.fi-media-grid .fi-media-cell .fi-media-linkout{display:block; width:100%; height:100%}
.fi-media-grid .fi-media-cell .fi-media-linkout img{width:100%; height:100%; object-fit:cover}
.is-post .fi-media:not(.fi-media-grid) .fi-media-linkout{display:flex; align-items:center; justify-content:center}

/* Feed media permalink anchors: crawlers and users reach the canonical post URL from every visible media item. */
.fi-media-postlink{display:block;width:100%;height:100%;color:inherit;text-decoration:none;cursor:pointer}
.fi-media-postlink img,
.fi-media-postlink video{display:block;width:100%;height:auto}
.fi-media-grid .fi-media-cell .fi-media-postlink{position:relative;display:block;width:100%;height:100%}
.fi-media-grid .fi-media-cell .fi-media-postlink img,
.fi-media-grid .fi-media-cell .fi-media-postlink video{width:100%;height:100%;object-fit:cover}
.fi-video-postlink video{pointer-events:none}

/* Post detail: very tall images (e.g. stitched memes) should fit the viewport on mobile */
@media (max-width: 520px){
  /* Only apply "fit to viewport" to single-media blocks, not the multi-image grid */
  .is-post .fi-media:not(.fi-media-grid){background:#000; display:flex; align-items:center; justify-content:center; max-height:70vh;}
  .is-post .fi-media:not(.fi-media-grid) img,
  .is-post .fi-media:not(.fi-media-grid) video{
    width:auto; height:auto;
    max-width:100%; max-height:70vh;
    object-fit:contain;
  }
}

/* multi-image grid (up to 4) */
.fi-media-grid{display:grid; gap:4px; width:min(100%, var(--current-post-media-width, var(--post-media-width,100%))); margin-left:var(--current-post-media-margin-left, var(--post-media-margin-left,auto)); margin-right:var(--current-post-media-margin-right, var(--post-media-margin-right,auto))}
.fi-media-grid .fi-media-cell{position:relative; overflow:hidden}
.fi-media-grid .fi-media-cell img{width:100%; height:100%; object-fit:cover; display:block}
.fi-media-grid .fi-media-cell video{width:100%; height:100%; object-fit:cover; display:block; background:#000}

/* 2 images: 2 columns */
.fi-media-grid-2{grid-template-columns:1fr 1fr; aspect-ratio: 1 / 1}

/* 3 images: first spans left, two stacked on right */
.fi-media-grid-3{grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; aspect-ratio: 1 / 1}
.fi-media-grid-3 .fi-media-cell:nth-child(1){grid-row:1 / span 2; grid-column:1}
.fi-media-grid-3 .fi-media-cell:nth-child(2){grid-row:1; grid-column:2}
.fi-media-grid-3 .fi-media-cell:nth-child(3){grid-row:2; grid-column:2}

/* 4 images: 2x2 */
.fi-media-grid-4{grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; aspect-ratio: 1 / 1}

/* Post detail: show every uploaded media item instead of cutting the visible grid at 4. */
body.is-post .feeditem .fi-media-grid.fi-media-grid-all{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:none !important;
  grid-auto-rows:auto !important;
  aspect-ratio:auto !important;
}
body.is-post .feeditem .fi-media-grid.fi-media-grid-all .fi-media-cell{
  aspect-ratio:1 / 1 !important;
}
@media (min-width: 760px){
  body.is-post .feeditem .fi-media-grid.fi-media-grid-all{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width: 768px){
  .fi-media,
  .fi-media-grid{
    width:min(100%, var(--current-post-media-width-mobile, var(--post-media-width-mobile, var(--current-post-media-width, var(--post-media-width,100%)))));
    margin-left:var(--current-post-media-mobile-margin-left, var(--post-media-mobile-margin-left, var(--current-post-media-margin-left, var(--post-media-margin-left,auto))));
    margin-right:var(--current-post-media-mobile-margin-right, var(--post-media-mobile-margin-right, var(--current-post-media-margin-right, var(--post-media-margin-right,auto))));
  }
}

/* link preview style */
.fi-link{margin-top:12px; border:1px solid #eceef2; border-radius:18px; padding:12px; display:flex; gap:12px; align-items:stretch; text-decoration:none; color:inherit}
.fi-link:active{opacity:.9}
.fi-link-txt{flex:1; min-width:0}
.fi-domain{font-size:12px; color:#8b9099; font-weight:800; text-transform:lowercase}
.fi-link-title{margin-top:4px; font-size:16px; font-weight:900; line-height:1.2; display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fi-link-desc{margin-top:4px; color:#8b9099; font-size:14px; line-height:1.25; display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fi-link-url{display:inline-block; margin-top:8px; font-size:13px; font-weight:800; color:#1d4ed8; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%}
.fi-thumb{width:72px; height:72px; border-radius:16px; overflow:hidden; background:#f6f7f9; display:grid; place-items:center; flex:0 0 auto}
.fi-thumb img{width:100%; height:100%; object-fit:cover}
.fi-thumb svg{width:18px;height:18px; fill:#9aa0a6}

.fi-link.fi-link-stacked{display:flex; flex-direction:column; align-items:stretch; gap:10px}
.fi-link.fi-link-stacked .fi-link-txt{order:1}
.fi-link.fi-link-stacked .fi-thumb{order:2; width:100%; height:auto; aspect-ratio:1.91 / 1; border-radius:18px}
.fi-link.fi-link-stacked .fi-thumb img{width:100%; height:100%; object-fit:cover; display:block}

.feeditem.feeditem-urltitleonly .fi-link{
  margin-top:6px;
}
.feeditem.feeditem-urltitleonly .fi-link-title{
  margin-top:2px;
}
.feeditem.feeditem-urltitleonly .fi-link-url{
  margin-top:6px;
}
@media (max-width:640px){
  .fi-link.fi-link-stacked .fi-thumb{aspect-ratio:1.6 / 1}
}

/* actions row like Boost */
.fi-actions{margin-top:10px; display:flex; align-items:center; gap:12px; color:#9aa0a6; min-width:0}
.fi-votes{display:flex; align-items:center; gap:10px}
.fi-ibtn{border:0; background:transparent; padding:6px; border-radius:12px; display:inline-flex; align-items:center; gap:6px; color:#9aa0a6; cursor:pointer}
.fi-views{cursor:default; user-select:none}
.fi-views svg{opacity:.9}
.fi-ibtn svg{width:18px;height:18px; fill:currentColor}
.fi-ibtn.on svg{fill:currentColor}
/* Active state: highlight vote/save icons */
.fi-ibtn.on{color:var(--accent)}
.fi-count{font-weight:800; color:#111; font-size:14px; min-width:18px; text-align:center}
.fi-num{font-weight:800; color:#111; font-size:14px}
.fi-spacer{flex:1}

/* bottom nav: match lighter boost */
.bottomnav{background:#fff; backdrop-filter:none; border-top:1px solid #eceef2}
.bn-item{font-size:11px}

/* floating compose button (blue pencil) */
.fab{
  position:fixed;
  right:16px;
  bottom: calc(86px + var(--vv-bottom));
  width:42px;
  height:42px;
  border-radius:18px;
  border:0;
  background:#1e6fff;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  display:grid;
  place-items:center;
  z-index:70;
}
.fab svg{width:22px;height:22px; fill:#fff}

/* empty state */
.empty-state{padding:22px 16px; color:#6b7280; font-size:14px}
.empty-state .illus{width:42px;height:42px; border-radius:14px; background:#f6f7f9; display:grid; place-items:center; margin-bottom:10px}
.empty-state .illus svg{width:18px;height:18px; fill:#9aa0a6}

/* --- Boost-like polish (feed) --- */
body{background:#fff}
:root{
  --bg:#fff;
  --card:#fff;
  --border:#eef0f3;
  --radius:18px;
}

.topbar{background:rgba(255,255,255,.96)}
/* Feed width: match Boost feel (wide list, minimal outer gutter).
   Safe-area handled here; inner items use their own padding. */
.container{
  padding:76px 0 98px;
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}

.seg{display:flex;gap:10px;margin:12px 16px 16px;}
.seg-btn{
  flex:1;
  text-align:center;
  padding:12px 12px;
  border-radius:999px;
  border:1px solid transparent;
  background:#e9edf2;
  font-weight:800;
  font-size:14px;
  color:#111;
}
.seg-btn.active{
  background:#111;
  color:#fff;
}

.card{
  border:1px solid #eceef2;
  box-shadow:none;
  border-radius:18px;
  margin:12px 16px;
}
.post{padding:16px}
.post-title{font-size:var(--fs-post-title,20px);line-height:var(--font-title-line,1.12);margin:0 0 10px;font-weight:var(--post-title-font-weight,var(--font-title-weight,900));letter-spacing:var(--font-title-track,-.02em)}
.post-excerpt{color:var(--muted);font-size:var(--fs-post-text,16px);line-height:var(--font-text-line,1.45);letter-spacing:var(--font-text-track,0);-webkit-line-clamp:4}

.preview{background:#fff;border-radius:18px;padding:12px;border-color:#eceef2}
.preview-title{font-size:calc(var(--fs-post-title,20px) * .82);line-height:var(--font-title-line,1.2);letter-spacing:var(--font-title-track,-.01em)}
.preview-desc{margin-top:6px;color:#6b7280;font-size:calc(var(--fs-post-text,16px) * .82);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.preview-img{width:86px;height:86px;border-radius:16px;border-color:#eceef2}

.media{border:0;border-radius:20px;overflow:hidden;background:#f3f4f6}
.media img{border-radius:20px}

.actions{color:#9aa0a6}
.boost{border-color:#eef0f3;background:#fff}
.abtn{color:#9aa0a6}

/* Boost action row (no pill) */
.boost{border:0;background:transparent;padding:0;gap:10px}
.vbtn{padding:2px}
.vbtn svg{width:18px;height:18px}
.vbtn.on{background:transparent}
.vbtn.on svg{fill:#111}
.count{font-size:14px}

/* Bottom nav closer to Boost */
.bottomnav{background:rgba(255,255,255,.98)}
.bn-item{font-size:11px}

/* Floating compose button */
.fab{
  position:fixed;
  right:16px;
  bottom: calc(86px + var(--vv-bottom));
  width:52px;height:52px;
  border-radius:999px;
  background:#1e74ff;
  display:grid;place-items:center;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
  z-index:70;
}
.fab svg{width:22px;height:22px;fill:#fff}
.stat{flex:1;border:1px solid var(--border);border-radius:14px;padding:10px;background:#fff}
.stat .n{font-weight:950;font-size:18px}

/* Prevent long unbroken strings (e.g., text without spaces) from overflowing cards on mobile */
.post-title,
.post-excerpt,
.preview-title,
.preview-desc,
.comment-body,
.profile-name,
.profile-joined{
  overflow-wrap:anywhere;
  word-break:break-word;
}
.stat .l{color:var(--muted);font-size:12px;font-weight:800}

.tabs{display:flex;gap:8px;margin-top:12px}
.tab{flex:1;text-align:center;padding:10px;border-radius:999px;border:1px solid var(--border);font-weight:900;font-size:13px;color:#111;background:transparent}
.tab.active{background:#111;color:#fff;border-color:#111}

/* Layout/spacing fixes (mobile) */
.row{display:flex;gap:10px;flex-wrap:wrap}
.row > *{flex:0 0 auto}

.card{
  background:#fff !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  padding:14px !important;
}

/* Feed list uses .feeditem (not cards) – keep it clean */
.feeditem{background:transparent}

/* Channels list: keep right-side actions aligned and not floating */
.item-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:110px}
.item-actions .btn{width:100%}
.item-actions form{margin:0}

/* Admin: tabs should scroll horizontally instead of squishing */
.is-admin .tabs{overflow:auto;-webkit-overflow-scrolling:touch;gap:10px;padding-bottom:4px}
.is-admin .tab{flex:0 0 auto;padding:10px 14px}

/* Reduce excessive inner spacing on admin blocks */
.is-admin .card{padding:12px !important}

.empty{
  text-align:center;padding:28px 16px;color:var(--muted);
}
.empty .illus{
  width:74px;height:74px;border-radius:24px;border:1px dashed var(--border);
  margin:0 auto 10px;display:grid;place-items:center;background:#fff;
}
.empty .illus svg{width:28px;height:28px;fill:var(--muted)}

/* Composer screen (Boost-like) */
.composer-body{
  background:#fff;
  padding-top: env(safe-area-inset-top);
  padding-bottom: calc(82px + env(safe-area-inset-bottom) + var(--vv-bottom));
}
.composer-wrap{min-height:100vh}
.composer-top{
  position:sticky;top:0;z-index:70;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;
  background:#fff;
}
.composer-cancel{color:#6b6f76;font-weight:700;text-decoration:none}
.composer-postbtn{
  border:0;
  padding:10px 16px;
  border-radius:999px;
  font-weight:800;
  background:#e9eaee;
  color:#9aa0a6;
}
.composer-postbtn:not([disabled]){background:#111;color:#fff}

.composer-main{padding:10px 16px 118px;max-width:760px;margin:0 auto}
.composer-form{display:flex;flex-direction:column;gap:14px}
.composer-audience{display:flex;gap:12px;align-items:center;padding:0;background:transparent;border:0;box-shadow:none}
.composer-audience-icon{
  width:34px;height:34px;border-radius:999px;
  background:#eef2f7;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
  border:1px solid #e7eaf2;
  position:relative;
  overflow:hidden;
}
.composer-audience-icon:after{display:none}
.composer-audience-avatar{width:100%;height:100%;display:block;object-fit:cover}
.composer-audience-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#5f6673;font-size:19px}
.composer-audience-pill{
  flex:1;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid #eceef2;
  border-radius:999px;
  padding:10px 12px;
}
.composer-select{
  appearance:none;
  border:0;outline:0;
  width:100%;
  font-size:16px;
  background:transparent;
  color:#6b6f76;
}
.composer-chevron{color:#6b6f76;font-size:14px}

.composer-titlewrap{padding:2px 2px 0}
.composer-title{
  width:100%;
  max-width:100%;
  border:0;outline:0;
  font-size:clamp(22px, 5.8vw, 40px);
  line-height:1.08;
  font-weight:800;
  padding:0;
  background:transparent;
}
.composer-title::placeholder{color:#c7cbd3}
.composer-subhint{margin-top:8px;color:#c7cbd3;font-size:14px;font-weight:700}

.composer-bodywrap,.composer-categories,.composer-media,.composer-urlpreview{
  border:1px solid #edf1f6;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(17,24,39,.04);
}
.composer-bodywrap{padding:2px 2px 2px 0}
.composer-bodytext{
  margin-top:0;
  width:100%;
  border:0;outline:0;
  resize:none;
  font-size:18px;
  line-height:1.5;
  min-height:120px;
  max-height:45vh;
  overflow:auto;
  background:transparent;
  padding:14px 14px 12px;
}

.composer-bodytext::placeholder{color:#c7cbd3;opacity:1}

.composer-url-input{display:none;width:100%;border:1px solid #eceef2;border-radius:12px;padding:12px;font-size:16px;margin-top:12px}
/* Keep file input in DOM (iOS Safari may block .click() if display:none). */
.composer-file-input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}

.composer-toolbar{
  position:fixed;left:0;right:0;bottom: var(--vv-bottom);z-index:80;
  min-height:72px;
  display:flex;align-items:center;gap:10px;
  padding:8px 16px;
  background:rgba(255,255,255,.96);
  border-top:1px solid #eaf0f8;
  box-shadow:0 -10px 30px rgba(17,24,39,.05);
  backdrop-filter:blur(10px);
  padding-bottom: calc(8px + env(safe-area-inset-bottom));
}
.composer-toolbar-tools{display:flex;align-items:center;gap:2px;flex-wrap:nowrap}
.ctool{width:44px;height:44px;border-radius:14px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.ctool svg{width:26px;height:26px;fill:#6ea8ff}
.ctool:active{background:#eaf3ff}

/* Composer post country picker (country-only, no Global option). */
.composer-country-menu{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;z-index:35;}
.composer-country-menu > summary{list-style:none;}
.composer-country-menu > summary::-webkit-details-marker{display:none;}
.composer-country-trigger{width:auto;min-width:64px;padding:0 8px;gap:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;color:#111827;}
.composer-country-trigger:active{background:#eaf3ff;}
.composer-country-flag{font-size:22px;line-height:1;display:inline-flex;align-items:center;}
.composer-country-code{font-size:13px;font-weight:900;line-height:1;color:#6b7280;letter-spacing:.02em;}
.composer-country-caret{font-size:12px;font-weight:900;color:#9ca3af;line-height:1;margin-left:1px;}
.composer-country-menu[open] .composer-country-caret{transform:rotate(180deg);}
.composer-country-sheet{position:absolute;left:0;bottom:52px;width:min(308px,calc(100vw - 24px));max-height:min(56vh,430px);overflow:hidden;border:1px solid rgba(17,24,39,.10);border-radius:18px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.18);padding:8px;z-index:80;}
.composer-country-sheet-title{padding:5px 8px 7px;font-size:12px;font-weight:900;color:#7b8390;text-transform:uppercase;letter-spacing:.04em;}
.composer-country-search-wrap{padding:0 4px 8px;background:#fff;}
.composer-country-search{width:100%;height:40px;border:1px solid rgba(17,24,39,.10);border-radius:13px;background:#f6f7fb;color:#111827;font-size:15px;font-weight:750;line-height:1;padding:0 13px;outline:none;-webkit-appearance:none;appearance:none;}
.composer-country-search::placeholder{color:#a3acba;font-weight:700;}
.composer-country-search:focus{background:#fff;border-color:rgba(37,99,235,.45);box-shadow:0 0 0 3px rgba(37,99,235,.10);}
.composer-country-options{max-height:min(42vh,310px);overflow:auto;-webkit-overflow-scrolling:touch;padding-right:2px;}
.composer-country-option{width:100%;min-height:44px;border:0;background:transparent;border-radius:13px;padding:9px 9px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#111827;text-align:left;cursor:pointer;font:inherit;}
.composer-country-option:hover,.composer-country-option:focus-visible{background:#f4f6f8;outline:none;}
.composer-country-option.is-active{background:#eef4ff;color:#1d4ed8;}
.composer-country-option-main{display:flex;align-items:center;gap:10px;min-width:0;}
.composer-country-option-main > span{font-size:20px;line-height:1;}
.composer-country-option-main strong{display:block;font-size:15px;line-height:1.15;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.composer-country-option b{font-size:15px;min-width:14px;text-align:right;}
.composer-country-empty{padding:14px 8px 16px;text-align:center;font-size:14px;font-weight:800;color:#9ca3af;}
:root[data-theme="dark"] .composer-country-trigger{color:#f8fafc;}
:root[data-theme="dark"] .composer-country-code{color:#aab4c4;}
:root[data-theme="dark"] .composer-country-caret{color:#aab4c4;}
:root[data-theme="dark"] .composer-country-sheet{background:#111827;border-color:rgba(255,255,255,.10);box-shadow:0 18px 44px rgba(0,0,0,.42);}
:root[data-theme="dark"] .composer-country-search-wrap{background:#111827;}
:root[data-theme="dark"] .composer-country-search{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10);color:#f8fafc;}
:root[data-theme="dark"] .composer-country-search::placeholder{color:#7b8798;}
:root[data-theme="dark"] .composer-country-search:focus{background:rgba(255,255,255,.08);border-color:rgba(96,165,250,.55);box-shadow:0 0 0 3px rgba(96,165,250,.14);}
:root[data-theme="dark"] .composer-country-option{color:#f8fafc;}
:root[data-theme="dark"] .composer-country-option:hover,:root[data-theme="dark"] .composer-country-option:focus-visible{background:rgba(255,255,255,.08);}
:root[data-theme="dark"] .composer-country-option.is-active{background:rgba(37,99,235,.24);color:#bfdbfe;}
@media (max-width:420px){
  .composer-country-trigger{min-width:60px;padding:0 7px;}
  .composer-country-code{font-size:12px;}
  .composer-country-sheet{left:-96px;width:min(300px,calc(100vw - 18px));}
}
.ctool-spacer{flex:1}
.composer-toolbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.composer-toolbar-btn{
  min-width:86px;
  height:40px;
  padding:0 14px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-weight:800;
  font-size:15px;
  border:1px solid #dfe6ef;
  background:#fff;
  color:#6b6f76;
}
.composer-toolbar-submit{
  min-width:96px;
  height:40px;
  padding:0 16px;
}

.preview-desc{color:#6b6f76;font-size:14px;line-height:1.25;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.composer-preview{margin:16px 0 0; padding:12px 0 0; border-top:1px solid #eceef2;}
.composer-preview-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;}
.composer-preview-title{font-weight:800;color:#6b6f76;font-size:13px;letter-spacing:.02em;text-transform:uppercase;}
.composer-preview-toggle{border:0;background:transparent;color:#6b6f76;font-weight:800;font-size:13px;padding:6px 10px;border-radius:10px;cursor:pointer;}
.composer-preview-toggle:active{background:#f2f3f6;}

/* composer preview: compact (mini) mode */
.composer-preview-actions{display:flex;align-items:center;gap:8px;}
.composer-preview.is-mini .feeditem-preview{padding:10px;border-radius:16px;max-height:118px;overflow:hidden;position:relative;}
.composer-preview.is-mini .feeditem-preview:after{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));pointer-events:none;}
.composer-preview.is-mini .fi-head{font-size:12px;gap:8px;}
.composer-preview.is-mini .av-sm{width:18px;height:18px;}
.composer-preview.is-mini .fi-title{font-size:15px;line-height:1.2;margin-top:6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
/* In mini mode show only header + title */
.composer-preview.is-mini .fi-text{display:none !important;}
.composer-preview.is-mini .fi-media{display:none !important;}
.composer-preview.is-mini .fi-link{display:none !important;}
.composer-preview.is-mini .fi-moretext{display:none !important;}
.feeditem-preview{pointer-events:none;}
.feeditem-preview .fi-moretext{pointer-events:auto;}

/* --- Composer URL mini preview (Twitter-like card) --- */
.composer-urlpreview{margin:10px 0 0;}
.urlpv-card{display:flex;gap:12px;align-items:stretch;border:1px solid #eceef2;border-radius:16px;overflow:hidden;background:#fff;max-height:92px;}
.urlpv-img{width:92px;min-width:92px;background:#f4f5f8 center/cover no-repeat;}
.urlpv-meta{padding:10px 12px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.urlpv-title{font-weight:var(--font-title-weight,800);color:#121316;font-size:calc(var(--fs-post-title,20px) * .78);line-height:var(--font-title-line,1.25);letter-spacing:var(--font-title-track,-.01em);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.urlpv-desc{margin-top:4px;color:#5b6068;font-size:calc(var(--fs-post-text,16px) * .82);line-height:var(--font-text-line,1.25);letter-spacing:var(--font-text-track,0);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.urlpv-site{margin-top:6px;color:#7a808a;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Compose: keep preview visible above the bottom toolbar / keyboard */
.composer-body .composer-urlpreview{position:sticky;bottom:calc(var(--bn-h) + 14px + env(safe-area-inset-bottom));z-index:6;}

/* Loading skeleton (used while fetching preview) */
#urlPreview.is-loading .urlpv-site,
#urlPreview.is-loading .urlpv-title,
#urlPreview.is-loading .urlpv-desc,
#urlPreviewEdit.is-loading .urlpv-site,
#urlPreviewEdit.is-loading .urlpv-title,
#urlPreviewEdit.is-loading .urlpv-desc{color:transparent !important;}
#urlPreview.is-loading .urlpv-site,
#urlPreview.is-loading .urlpv-title,
#urlPreview.is-loading .urlpv-desc,
#urlPreviewEdit.is-loading .urlpv-site,
#urlPreviewEdit.is-loading .urlpv-title,
#urlPreviewEdit.is-loading .urlpv-desc{background-image:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.14),rgba(0,0,0,.06));background-size:200% 100%;border-radius:8px;animation:urlpvShimmer 1.2s linear infinite;}
#urlPreview.is-loading .urlpv-site,
#urlPreviewEdit.is-loading .urlpv-site{height:12px;width:42%;}
#urlPreview.is-loading .urlpv-title,
#urlPreviewEdit.is-loading .urlpv-title{height:16px;width:72%;margin-top:8px;}
#urlPreview.is-loading .urlpv-desc,
#urlPreviewEdit.is-loading .urlpv-desc{height:12px;width:92%;margin-top:10px;}
#urlPreview.is-loading .urlpv-desc::after,
#urlPreviewEdit.is-loading .urlpv-desc::after{content:'';display:block;height:12px;width:78%;margin-top:8px;background-image:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.14),rgba(0,0,0,.06));background-size:200% 100%;border-radius:8px;animation:urlpvShimmer 1.2s linear infinite;}
@keyframes urlpvShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ==========================================================
   Boost-like Bottom Navigation + Blue Compose FAB (FINAL)
   ========================================================== */
:root{
  --bn-h: 0px;
}
/* Reserve space so content never sits under bottom nav */
body{ padding-bottom: calc(env(safe-area-inset-bottom) + var(--nav-shift, 0px)) !important; }
.container{ padding-bottom: calc(18px + env(safe-area-inset-bottom) + var(--nav-shift, 0px)) !important; }
.bottomnav{
  position: fixed !important;
  left: 0; right: 0;
  bottom: var(--nav-shift, 0px) !important;
  height: var(--bn-h);
  padding-bottom: env(safe-area-inset-bottom);
  background: rgba(255,255,255,.98);
  border-top: 1px solid #eceef2;
  z-index: 2147483647 !important;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
}
.bottomnav.has-center-compose{
  grid-template-columns: repeat(5, 1fr);
}
.bn-item{
  position: relative;
  text-decoration: none;
  color: #9aa0a6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 0 8px;
  -webkit-tap-highlight-color: transparent;
  background: transparent;
  border: 0;
  font: inherit;
  cursor: pointer;
}
.bn-ico svg{ width: 22px; height: 22px; display:block; fill: currentColor; }
.bn-label{ font-size: 11px; line-height: 1; font-weight: 600; }
.bn-item.is-active{ color:#111; }

/* Feed picker (small popup menu above the Feed tab) */
.bn-feed{ padding-bottom: 6px; }
.bn-caret{ font-size: 11px; line-height: 1; opacity: .7; margin-top: -2px; }
.bn-item.is-active .bn-caret{ opacity: .9; }

.bn-menu{
  position: fixed;
  z-index: 2147483646;
  min-width: 150px;
  max-width: 220px;
  background: rgba(255,255,255,.98);
  border: 1px solid #eceef2;
  border-radius: 14px;
  box-shadow: 0 18px 60px rgba(0,0,0,.15);
  padding: 6px;
}
.bn-menu-item{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 12px;
  text-decoration: none;
  color: #111;
  font-weight: 700;
  font-size: 13px;
}
.bn-menu-item.is-on{ background: #f5f7fb; }
.bn-menu-item:active{ transform: scale(.99); }
.bn-menu-hint{
  margin-top: 4px;
  padding: 6px 10px 4px;
  font-size: 11px;
  color: #6b7280;
  font-weight: 600;
}


.bn-seg{
  flex:1;
  width:auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.bn-seg{
  gap:0;
}
.bn-seg .bn-seg-btn{
  font-size:10px;
  line-height:1;
  padding:7px 8px;
  border-radius:999px;
  border:1px solid #e6e8ee;
  color:var(--muted);
  background:rgba(255,255,255,.8);
  white-space:nowrap;
}
.bn-seg.is-active .bn-seg-btn.is-on{
  border-color:#111;
  color:#111;
}
.bn-seg .bn-seg-btn.is-on{
  border-color:#111;
  color:#111;
  background:#fff;
}


.bn-badge{
  position:absolute;
  top: 6px;
  right: 26%;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background:#111;
  color:#fff;
  font-size: 11px;
  line-height: 18px;
  font-weight: 700;
  text-align:center;
}

.bn-dot{
  position:absolute;
  top: 10px;
  right: 32%;
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background:#1f6fff;
  box-shadow: 0 0 0 2px rgba(255,255,255,.98);
}

/* Center compose button inside bottom nav (optional). */
.bn-compose{ gap: 0; padding: 0; }
.bn-compose .bn-compose-btn{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background:#1f6fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 10px 22px rgba(0,0,0,.18);
  transform: none;
}
.bn-compose .bn-compose-btn svg{ width: 22px; height: 22px; fill:#fff; }
.bn-compose .bn-label{ display:none; }
.bn-compose.is-center-compose{ align-self:center; justify-self:center; }
.bn-compose:active .bn-compose-btn{ opacity:.9; }

/* Blue pencil compose button (like Boost) */
.fab-compose{
  position: fixed;
  right: 16px;
  bottom: calc(var(--bn-h) + 12px + env(safe-area-inset-bottom) + var(--nav-shift, 0px));
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: #1f6fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2147483647;
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
  text-decoration: none;
  transform: translate3d(0, 0, 0);
}
.fab-compose svg{ width: 24px; height: 24px; fill: #fff; }
.fab-compose:active{ opacity:.85; }

/* Keep FAB hidden on composer screen (uses composer-body on <body>) */
.composer-body .fab-compose{ display:none !important; }
.is-admin .fab-compose{ display:none !important; }

/* =========================
   FINAL bottom-nav + FAB alignment (iOS Safari safe)
   Ensures bar is NOT too high and icons are centered.
   ========================= */

:root{
  --bn-h:56px;          /* visible bar height (without safe-area) */
  --bn-pad-top:8px;
  --bn-pad-bot:10px;
  --bn-gap:12px;        /* gap from nav to FAB */
}

/* Bottom nav: fixed to nav-shift only (no double padding). */
.bottomnav{
  bottom: var(--nav-shift, 0px) !important;
  height: calc(var(--bn-h) + env(safe-area-inset-bottom)) !important;
  padding: var(--bn-pad-top) 10px calc(var(--bn-pad-bot) + env(safe-area-inset-bottom)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:0 !important;
}

/* Each icon slot centers perfectly */
.bn-item{
  flex:1 1 0 !important;
  width:auto !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  line-height:1 !important;
}

/* Badge: keep it close to the icon, not drifting with flex */
.bn-item .badge{
  right: 28% !important;
}

/* Container bottom padding matches the bar height (prevents overlap) */
.container{
  padding-bottom: calc(var(--bn-h) + env(safe-area-inset-bottom) + 18px) !important;
}

/* FAB: always sits just above the bar (like the reference photo) */
.fab, .fab-compose{
  bottom: calc(var(--bn-h) + env(safe-area-inset-bottom) + var(--nav-shift, 0px) + var(--bn-gap)) !important;
  right: 16px !important;
}
.is-admin .bottomnav{ display:none !important; }


/* Avatars */
.av{border-radius:999px; object-fit:cover; background:#e9ecf1; flex:0 0 auto; display:inline-block}
.av-sm{width:20px; height:20px}
.av-xs{width:18px; height:18px}
.av-lg{width:44px; height:44px}
.fi-head{gap:8px}
.fi-user{color:#8b9099; font-weight:600; text-decoration:none; flex:0 1 auto; min-width:0}
.fi-usercol{display:flex;flex-direction:row;align-items:center;gap:6px;min-width:0;line-height:1.1;margin-right:6px;flex:1 1 auto;overflow:hidden;flex-wrap:wrap}
.fi-head-right{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;min-width:0;align-self:center;position:relative;z-index:8}
.fi-head-right .fi-time{display:inline-flex;align-items:center;line-height:1;align-self:center}
.fi-head-right .fi-more{margin-left:0;display:inline-flex;align-items:center;justify-content:center;align-self:center;padding:4px;border-radius:10px}
.fi-head-right .fi-more svg{display:block}
.fi-realname{color:var(--text);font-weight:700;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(44vw, 220px);flex:0 1 auto;}
@media (max-width: 520px){.fi-usercol{gap:4px}.fi-realname{max-width:32vw;}}

/* Larger post header identity block */
.feeditem .fi-usercol{gap:7px;align-items:center;flex-wrap:nowrap;overflow:hidden;}
.feeditem .fi-realname{font-size:15px;font-weight:800;line-height:1.05;max-width:min(38vw,220px);flex:0 0 auto;}
.feeditem .fi-realname .user-handle-link{gap:7px;max-width:100%;}
.feeditem .fi-realname .user-handle-text{font-size:inherit;line-height:1.05;}
.feeditem .fi-realname .user-verified-badge{width:18px;height:18px;vertical-align:-3px;}
.feeditem .fi-usercol > .user-display-name-link{font-size:15px;font-weight:700;line-height:1.05;color:var(--muted);text-decoration:none;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.feeditem .fi-usercol > .user-display-name-link .user-display-name-text{font-size:inherit;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%;}
.feeditem .fi-name-badges{gap:5px;flex-wrap:nowrap;white-space:nowrap;}
.feeditem .fi-name-badges .user-badge-icon,
.feeditem .fi-name-badges .user-badge-fallback{width:20px !important;height:20px !important;}
@media (max-width:520px){
  .feeditem .fi-realname{font-size:14px;max-width:30vw;}
  .feeditem .fi-usercol > .user-display-name-link{font-size:14px;}
  .feeditem .fi-realname .user-verified-badge{width:17px;height:17px;}
  .feeditem .fi-name-badges .user-badge-icon,
  .feeditem .fi-name-badges .user-badge-fallback{width:19px !important;height:19px !important;}
}

.fi-avatarcol{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 auto;}
.fi-avatar-badges{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;line-height:1;max-width:100%;flex-wrap:wrap;}
.fi-avatar-badges .user-handle-badge{display:inline-flex;}
.fi-avatar-badges .user-badge-icon,.fi-avatar-badges .user-badge-fallback{width:18px !important;height:18px !important;}
.feeditem .fi-name-badges{display:inline-flex !important;}

@media (max-width:520px){
  .fi-avatarcol{gap:5px;}
}

.comment-head{display:flex; align-items:center; gap:8px}



/* compact popup menu for post/comment more button */
.mini-menu-overlay{
  position:fixed;
  inset:0;
  z-index:10020;
  background:transparent;
}
.mini-menu-panel{
  position:absolute;
  width:220px;
  max-width:calc(100vw - 24px);
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 18px 48px rgba(0,0,0,.18);
  overflow:hidden;
}
.mini-menu-title{
  padding:12px 14px;
  font-weight:800;
  font-size:14px;
  color:#6b7280;
  border-bottom:1px solid var(--border);
  background:#fafafa;
}
.mini-menu-actions{ display:flex; flex-direction:column; }
.mini-menu-btn{
  width:100%;
  border:0;
  border-bottom:1px solid var(--border);
  background:#fff;
  text-align:left;
  padding:14px;
  font-weight:800;
  font-size:16px;
  color:#111827;
}
.mini-menu-btn:last-child{ border-bottom:0; }
.mini-menu-btn.danger{ color:#b42318; }

/* =========================
   Action sheet (three dots)
   ========================= */
.sheet-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.25);
  /* Must sit above bottom nav + FAB */
  z-index:10000;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  /*
    Respect iOS safe-area + visual viewport bottom (keyboard / browser chrome)
    AND keep the sheet above the fixed bottom navigation.
    Otherwise the sheet can appear "too low" / overlap the bottom bar on mobile.
  */
  padding:16px 16px calc(16px + env(safe-area-inset-bottom) + var(--vv-bottom) + var(--bn-h) + var(--nav-shift, 0px));
}
.sheet{
  position:relative;
  z-index:10001;
  width:min(520px, 100%);
  background:#fff;
  border-radius:18px;
  border:1px solid var(--border);
  box-shadow:0 18px 50px rgba(0,0,0,.22);
  overflow:hidden;
  /* keep the sheet fully usable on short viewports */
  max-height:calc(100vh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom) - var(--vv-bottom));
  display:flex;
  flex-direction:column;
}

/* When a sheet is open, hide FAB so it can't overlap the actions */
body.sheet-open .fab,
body.sheet-open .fab-compose{ display:none !important; }
body.sheet-open .bottomnav,
body.sheet-open .bottom-nav,
body.sheet-open .bottomnav-center{ display:none !important; }

/* =========================
   Post detail top bar
   ========================= */
.post-detail-topbar{
  position:sticky;
  top:0;
  z-index:60;
  display:flex;
  align-items:center;
  gap:10px;
  padding:calc(10px + env(safe-area-inset-top)) 12px 10px;
  background:#fff;
  border-bottom:1px solid var(--border);
}
.post-back{
  border:0;
  background:transparent;
  font-weight:900;
  font-size:20px;
  padding:6px 10px;
  border-radius:12px;
}
.post-back:active{ background:rgba(0,0,0,.06); }
.post-detail-title{ font-weight:900; }

/* =========================
   Lightbox (post detail)
   ========================= */
.lb{
  position:fixed; inset:0;
  z-index:11000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}
.lb[hidden]{ display:none !important; }
.lb-backdrop{
  position:absolute; inset:0;
  background:rgba(0,0,0,.78);
}
.lb-panel{
  position:relative;
  width:min(96vw, 1400px);
  max-width:100%;
  height:min(96vh, calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  max-height:calc(100vh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  display:grid;
  grid-template-rows:auto 1fr;
  gap:10px;
}
.lb.is-video .lb-panel{
  width:min(98vw, 1600px);
  height:min(98vh, calc(100vh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  max-height:calc(100vh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
}
.lb-top{
  position:absolute;
  top:max(12px, calc(env(safe-area-inset-top) + 12px));
  left:max(12px, calc(env(safe-area-inset-left) + 12px));
  right:max(12px, calc(env(safe-area-inset-right) + 12px));
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:0;
  color:#fff;
  font-weight:900;
  z-index:4;
  pointer-events:none;
}
.lb-top > *{ pointer-events:auto; }
.lb-close,
.lb-download{
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.35);
  color:#fff;
  padding:8px 12px;
  border-radius:999px;
  text-decoration:none;
  backdrop-filter:blur(4px);
}
.lb-body{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.lb-stage{
  flex:1 1 auto;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:72px 56px 16px;
}
.lb-media,
.lb-media-video{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  border-radius:0;
  box-shadow:none;
  background:#000;
}
.lb-media-video{
  width:100%;
  height:100%;
}
.lb-nav{ z-index:2; }
.lb-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:28px;
  line-height:42px;
  text-align:center;
  cursor:pointer;
  user-select:none;
  backdrop-filter:blur(4px);
}
.lb-prev{ left:0; }
.lb-next{ right:0; }

@media (max-width: 820px){
  .lb-panel{
    width:100%;
    height:calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-height:calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    gap:8px;
  }
  .lb-stage{ padding:78px 44px 14px; }
}

@media (max-width: 520px){
  .lb{
    padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));
  }
  .lb-panel,
  .lb.is-video .lb-panel{
    width:100%;
    height:calc(100vh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-height:calc(100vh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
  .lb-top{
    top:max(10px, calc(env(safe-area-inset-top) + 10px));
    left:max(8px, calc(env(safe-area-inset-left) + 8px));
    right:max(8px, calc(env(safe-area-inset-right) + 8px));
  }
  .lb-close,
  .lb-download{
    padding:8px 14px;
  }
  .lb-stage{
    padding:82px 40px 12px;
  }
  .lb-nav{ width:40px; height:40px; font-size:26px; line-height:38px; }
}

/* Prevent background scroll when lightbox open */
body.lb-open{ overflow:hidden; }

.is-post .js-lightbox-media{ cursor:zoom-in; }
.sheet-title{padding:14px 16px; font-weight:900; border-bottom:1px solid var(--border)}
.sheet-actions{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.sheet-btn,
.sheet-cancel{
  width:100%;
  border:0;
  background:#fff;
  padding:14px 16px;
  font-weight:900;
  font-size:18px;
  line-height:1.25;
  letter-spacing:.01em;
  text-align:left;
  color:#6b7280;
}
.sheet-btn{border-bottom:1px solid var(--border)}
.sheet-btn.danger{color:#6b7280}
.sheet-btn__main{font:inherit;color:inherit;}
.sheet-btn__meta{font-size:.78em;font-weight:500;color:#9aa0a6;}
.sheet-btn:disabled .sheet-btn__meta{color:#b6bbc4;}
.sheet-cancel{background:#f5f6f7;color:#6b7280}

@media (max-width: 767px){
  .sheet-overlay{
    justify-content:stretch;
    padding:0;
    padding-bottom:0;
  }
  .sheet{
    width:100vw;
    max-width:100vw;
    margin:0;
    border-left:0;
    border-right:0;
    border-bottom:0;
    border-radius:18px 18px 0 0;
    box-shadow:0 -12px 36px rgba(0,0,0,.20);
    max-height:calc(100vh - env(safe-area-inset-top) - var(--vv-bottom));
  }
  .sheet-title{
    padding:16px 20px;
  }
  .sheet-btn,
  .sheet-cancel{
    padding:18px 20px;
  }
  .sheet-cancel{
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
}

/* =====================================
   Comments – match the reference layout
   ===================================== */
#comments.card{
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}
#comments .row,
#comments .form{padding:0 16px}
#comments .empty{margin:10px 16px}

/* Post page comments: no outer card/border and wider like the post itself */
body.is-post #comments.card,
body.is-post #comments.post-comments{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  margin:0 !important;
  padding:14px 16px 0 !important;
}
body.is-post #comments .row{padding-left:0;padding-right:0}
body.is-post #comments .empty{margin-left:0;margin-right:0}

.comment{
  margin:0;
  padding:14px 16px;
  border-top:1px solid #f0f2f5;
}
.comment:first-of-type{border-top:0}

/* indent for replies */
.comment{ padding-left: calc(16px + (var(--d,0) * 18px)); }

/* vertical thread line */
.comment.is-reply::before{
  left: calc(16px + (var(--d,0) * 18px) - 10px);
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: #e9ecf1;
  opacity: 1;
}

/* reply bubble */
.comment.is-reply{
  background:#f5f6f7;
  border-radius:16px;
  border-top:0;
  margin:10px 16px 0;
  padding:12px;
  padding-left: calc(12px + (var(--d,0) * 18px));
}

.comment-head{color:#8b9099; font-size:13px}
.c-user{font-weight:900}
.c-time{color:#9aa0a6; font-size:14px}

.comment-body{margin-top:8px; font-size:var(--fs-comment,16px); line-height:1.45}

/* comment attachment: smaller like the reference */
.comment-media{ margin-top:10px; max-width:360px; }
.comment-media img{ width:100%; max-width:360px; border-radius:14px; border:1px solid var(--border); display:block; }

.comment-bar{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:14px;
  color:#9aa0a6;
}
.c-vote{gap:12px}
.c-vote .vbtn{
  width:28px;height:28px;
  border:0;
  background:transparent;
  padding:0;
}
.c-vote .vbtn svg{width:18px;height:18px; opacity:.65}
.c-vote .vbtn.on svg{opacity:1}
.c-vote .vbtn.on svg{fill:var(--accent)}
.c-vote .count{font-weight:900; color:var(--text)}

.c-reply{
  border:0;
  background:transparent;
  padding:0;
  font-weight:900;
  color:#111;
}
.c-reply svg{display:none}

.comment-bar .more{
  margin-left:auto;
  border:0;
  background:transparent;
  padding:6px;
  border-radius:10px;
  color:#9aa0a6;
}
.comment-bar .more svg{width:18px;height:18px; fill:#9aa0a6}

/* deleted comments */
.comment.is-removed .comment-body{ color:#9aa0a6; font-style:italic; }
.comment.is-removed .c-vote{ opacity:.45; }
.comment.is-removed .c-reply{ opacity:.45; }

/* Channel page (Boost-like) */
.channel-hero{
  position:relative;
  height:320px;
  border-radius:0;
  overflow:hidden;
  margin:8px 0 0;
  background-image:
    var(--channel-hero-img, none),
    radial-gradient(1200px 600px at 30% 20%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(180deg, #1f5ed6 0%, #0b2e6f 70%, #071a3a 100%);
  background-size: cover, auto, auto;
  background-position: center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat;
}
.channel-hero:before{
  content:"";
  position:absolute; inset:0;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="240" height="240" viewBox="0 0 240 240"><g fill="%23ffffff" fill-opacity="0.08"><path d="M28 70c12 0 22-10 22-22S40 26 28 26 6 36 6 48s10 22 22 22zm0-10a12 12 0 1 1 0-24 12 12 0 0 1 0 24z"/><path d="M162 42h52v52h-52z"/><path d="M72 150h70v14H72z"/><path d="M160 164h46v14h-46z"/><path d="M70 190c0-20 16-36 36-36s36 16 36 36-16 36-36 36-36-16-36-36zm36-22a22 22 0 1 0 0 44 22 22 0 0 0 0-44z"/></g></svg>');
  background-size:240px 240px;
  opacity:1;
}
.channel-back{
  position:absolute; top:18px; left:16px;
  width:42px; height:42px;
  display:grid; place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  color:#111;
}
.channel-back svg{width:22px;height:22px; fill:#111}

.channel-actions{
  position:absolute; top:18px; right:16px;
  height:42px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  display:flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.92);
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  color:#111;
}
.channel-actions .ci svg{width:18px;height:18px; fill:#111}
.channel-actions .sep{width:1px;height:18px;background:rgba(0,0,0,.15)}

.channel-hero-title{
  position:absolute; left:50%; bottom:84px;
  transform:translateX(-50%);
  text-align:center;
  color:#fff;
  text-shadow:0 10px 25px rgba(0,0,0,.35);
}
.channel-hero-name{font-size:34px; font-weight:900; letter-spacing:-.02em; line-height:1.05}
.channel-hero-slug{font-size:20px; font-weight:800; opacity:.92; margin-top:4px}

.channel-card{
  /* Do NOT pull the whole row into the hero (causes overlap).
     Only the channel icon should overlap the hero like Boost. */
  margin-top:8px;
  padding:0 2px 8px;
  /* Critical: paint a white surface so the hero never shows through
     behind the join row / description / stats. */
  background:#fff;
  position:relative;
  z-index:2;
}
.channel-row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 14px;
}
.channel-icon{
  width:74px; height:74px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
  display:grid; place-items:center;
  overflow:hidden;
  /* Icon overlaps hero, row stays on white background */
  margin-top:-34px;
}
.channel-icon img{width:100%;height:100%;object-fit:cover}
.channel-icon span{font-weight:900; font-size:28px; color:#111}

.channel-cta{flex:1 1 auto;min-width:0;display:flex;justify-content:center;position:relative;z-index:1;}
.channel-join{width:100%; display:flex; justify-content:center;}
.channel-join-btn{
  width:min(320px, 100%);
  height:46px;
  border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
  background:#111;
  color:#fff;
  text-decoration:none;
  border:0;
}
.channel-join-btn.joined{background:#1f2937}

.channel-mini-actions{display:flex;gap:10px;flex:0 0 auto;position:relative;z-index:8;}
.channel-mini{
  width:42px;height:42px;
  border-radius:999px;
  border:0;
  background:#eef0f3;
  display:grid;place-items:center;
  color:#111;
  position:relative;
  z-index:9;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.channel-mini svg{pointer-events:none;}

/* Profile page (banner + follow, Boost-ish) */
.profile-hero{
  position:relative;
  height:280px;
  border-radius:32px;
  overflow:hidden;
  margin:8px 0 0;
  background-image:
    var(--profile-hero-img, none),
    radial-gradient(1200px 600px at 30% 20%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(180deg, #1f5ed6 0%, #0b2e6f 70%, #071a3a 100%);
  background-size: cover, auto, auto;
  background-position: center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat;
}
.profile-hero-title{
  position:absolute; left:18px; bottom:28px;
  color:#fff;
  text-shadow:0 10px 25px rgba(0,0,0,.35);
}
.profile-hero-name{font-size:34px; font-weight:900; letter-spacing:-.02em; line-height:1.05}
.profile-hero-slug{font-size:18px; font-weight:800; opacity:.92; margin-top:4px}
.profile-hero-bar{position:absolute; top:18px; left:16px; right:16px; display:flex; justify-content:space-between; align-items:center;}
.hero-back{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.92);box-shadow:0 10px 25px rgba(0,0,0,.18); color:#111; text-decoration:none}
.hero-back svg{width:22px;height:22px; fill:#111}

.profile-row{display:flex; gap:14px; align-items:center; margin-top:10px; padding:0 6px; background:#fff; position:relative; z-index:2}
.profile-icon{width:74px;height:74px;border-radius:999px;background:#fff;box-shadow:0 14px 28px rgba(0,0,0,.14);overflow:hidden;display:grid;place-items:center;margin-top:-32px}
.profile-icon img{width:100%;height:100%;object-fit:cover}
.profile-row-main{flex:1}
.profile-row-actions{display:flex; align-items:center; justify-content:flex-end}
.channel-mini svg{width:18px;height:18px; fill:#111}
.channel-mini.on{background:#111;}
.channel-mini.on svg{fill:#fff}

.channel-desc{
  padding:12px 16px 2px;
  color:#333;
  font-size:15px;
  line-height:1.35;
}

.channel-stats{
  display:flex;
  gap:22px;
  padding:14px 16px 4px;
}
.channel-stats .stat .n{font-weight:900; font-size:18px; color:var(--text)}
.channel-stats .stat .l{font-size:12px; color:var(--muted); margin-top:2px}

/* Profile v2 (matches new screenshot layout) */
.p2{max-width:680px;margin:0 auto;}
.p2-top{display:flex;align-items:center;justify-content:space-between;margin:6px 4px 10px;}
.p2-title{font-weight:800;font-size:20px;letter-spacing:-.01em;}
.p2-gear{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--border);background:var(--card);text-decoration:none;color:inherit;}
.p2-gear svg{width:22px;height:22px;fill:currentColor;}

.p2-cover{position:relative;height:180px;border-radius:28px;overflow:hidden;margin:0 4px 10px;
  background-image: var(--p2-cover-img, none),
    radial-gradient(900px 420px at 30% 20%, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(180deg, #1f5ed6 0%, #0b2e6f 70%, #071a3a 100%);
  background-size: cover, auto, auto;
  background-position: center, center, center;
  background-repeat: no-repeat, no-repeat, no-repeat;
}
.p2-cover-profile{height:auto;min-height:320px;display:flex;align-items:flex-end;}
.p2-cover-profile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.14) 36%, rgba(0,0,0,.58) 100%);pointer-events:none;}
.p2-back{position:absolute;top:14px;left:14px;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.92);box-shadow:0 10px 25px rgba(0,0,0,.18); color:#111; text-decoration:none}
.p2-back svg{width:22px;height:22px; fill:#111}
.p2-cover-name{position:absolute;left:18px;bottom:38px;color:#fff;font-size:28px;font-weight:900;text-shadow:0 10px 25px rgba(0,0,0,.35)}
.p2-cover-handle{position:absolute;left:18px;bottom:18px;color:#fff;font-size:16px;font-weight:800;opacity:.92;text-shadow:0 10px 25px rgba(0,0,0,.35)}

.p2-head{position:relative;display:flex;gap:14px;align-items:flex-start;padding:10px 62px 0 6px;}
.p2-head-on-cover{position:relative;z-index:1;width:100%;padding:116px 68px 18px 18px;color:#fff;align-items:flex-end;gap:16px;}
.p2-av{width:72px;height:72px;border-radius:999px;object-fit:cover;border:2px solid #fff;background:#fff;box-shadow:0 12px 26px rgba(0,0,0,.12)}
:root[data-theme="dark"] .p2-av{border-color:rgba(255,255,255,.08);background:var(--card)}
.p2-meta{flex:1;min-width:0;}
.p2-head-on-cover .p2-meta{color:#fff;}
.p2-display-name{font-size:18px;line-height:1.15;font-weight:900;color:var(--text);margin:0 0 4px;}
.p2-head-on-cover .p2-display-name{color:#fff;text-shadow:0 10px 25px rgba(0,0,0,.35);}
.p2-handle{font-weight:800;color:var(--muted);display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.p2-head-on-cover .p2-handle,.p2-head-on-cover .p2-joined-inline,.p2-head-on-cover .p2-chev{color:rgba(255,255,255,.92);}
.p2-handle-row{display:flex;align-items:center;gap:6px;}
.p2-handle-at{display:inline-block;}
.p2-realname{margin-top:0;margin-bottom:2px;font-weight:900;color:var(--text);font-size:18px;line-height:1.15;}
.p2-hbadges{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-width:0;}
.p2-hbadges .hb{font-size:11px;line-height:1;border:1px solid var(--border);background:var(--card);padding:6px 8px;border-radius:999px;color:var(--muted);font-weight:800;white-space:nowrap;}
.p2-chev{color:var(--muted);font-weight:900;}
.p2-stats{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;}
.p2-stat{border:0;background:transparent;border-radius:0;padding:2px 0;box-shadow:none;text-align:center;min-width:0;}
.p2-stat .n{font-weight:900;font-size:14px;line-height:1;}
.p2-stat .l{font-size:11px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.p2-head-on-cover .p2-stat .n,.p2-head-on-cover .p2-stat .l,.p2-head-on-cover .p2-bio{color:#fff;}
.p2-head-on-cover .p2-stat .l{opacity:.9;}

@media (max-width: 380px){
  .p2-stats{gap:12px;}
  .p2-stat{padding:1px 0;border-radius:0;}
  .p2-stat .n{font-size:13px;}
  .p2-stat .l{font-size:10px;}
  .p2-head-on-cover{padding:104px 62px 16px 14px;gap:12px;}
  .p2-cover-profile{min-height:300px;}
}
.p2-joined{margin-top:10px;color:var(--muted);font-size:13px;}
.p2-joined-inline{color:var(--muted);font-size:13px;font-weight:500;margin-left:6px;}

.p2-bio{margin-top:10px;color:var(--text);font-size:15px;line-height:1.5;white-space:pre-wrap;}

.p2-head,.p2-head-on-cover{flex-wrap:wrap;}
.p2-bio-full{width:100%;margin-top:14px;max-width:100%;}
.p2-head-on-cover .p2-bio-full{color:#fff;text-shadow:0 10px 25px rgba(0,0,0,.35);}
.fi-pin-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;margin:10px 0 4px;padding:6px 10px;border-radius:999px;background:rgba(37,99,235,.12);color:#2563eb;font-size:12px;font-weight:800;line-height:1;width:auto;max-width:max-content;}
.fi-pin-badge svg{width:14px;height:14px;fill:currentColor;}
:root[data-theme="dark"] .fi-pin-badge{background:rgba(96,165,250,.16);color:#93c5fd;}

.p2-pins{padding:10px 6px 0;display:flex;flex-direction:column;gap:10px;}
.p2-pin{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--card);border-radius:999px;padding:10px 14px;text-decoration:none;color:inherit;width:max-content;max-width:100%;overflow:hidden;}
.p2-pin svg{width:18px;height:18px;fill:currentColor;opacity:.9;}
.p2-pin-edit{color:#2563eb;text-decoration:none;font-weight:700;width:max-content;}


.p2-profile-gear{position:absolute;top:8px;right:8px;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--border);background:var(--card);color:var(--text);text-decoration:none;box-shadow:0 8px 22px rgba(15,23,42,.10);z-index:5;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.p2-profile-gear svg{width:21px;height:21px;fill:currentColor;}
.p2-profile-gear:active{transform:scale(.97);}
.p2-head-on-cover .p2-profile-gear{top:16px;right:16px;background:rgba(255,255,255,.94);color:#111;border-color:rgba(255,255,255,.72);box-shadow:0 10px 26px rgba(0,0,0,.20);}
.p2-actions{padding:12px 6px 0;}

/* Other user profile actions: subtle/minimal pills instead of large black CTA bars. */
.p2-actions-minimal{
  padding:10px 12px 0;
}
.p2-action-row{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.p2-action-form{
  margin:0;
  display:inline-flex;
}
.p2-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-height:34px;
  width:auto;
  max-width:100%;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(148,163,184,.10);
  color:var(--text);
  text-decoration:none;
  font-family:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1.1;
  box-shadow:none;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.p2-action-btn:hover,
.p2-action-btn:focus-visible{
  background:rgba(148,163,184,.16);
  text-decoration:none;
}
.p2-action-btn:active{
  transform:scale(.98);
}
.p2-action-btn.is-following{
  color:var(--muted);
  background:transparent;
}
:root[data-theme="dark"] .p2-action-btn{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}
:root[data-theme="dark"] .p2-action-btn:hover,
:root[data-theme="dark"] .p2-action-btn:focus-visible{
  background:rgba(255,255,255,.10);
}
@media (max-width:520px){
  .p2-actions-minimal{
    padding:8px 12px 0;
  }
  .p2-action-row{
    gap:7px;
  }
  .p2-action-btn{
    min-height:32px;
    padding:7px 12px;
    font-size:12.5px;
  }
}
.p2-edit{display:flex;align-items:center;justify-content:center;box-sizing:border-box;margin:10px 6px 0;background:#111;color:#fff;text-align:center;padding:10px 14px;border-radius:999px;text-decoration:none;font-weight:800;font-size:15px;line-height:1.15;min-height:44px;width:100%;border:0;outline:0;appearance:none;-webkit-appearance:none;font-family:inherit;cursor:pointer;flex:1 1 0;min-width:0;}

/* iOS / ghost-click reliability for profile + message action buttons */
.p2-edit,.btn,.pm-row,.hero-back,.p2-back{position:relative;z-index:3;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.p2 .row,.pm-thread + .form,.pm-thread + .row,.card > .row{position:relative;z-index:2;}

.p2-tabs-wrap{margin-top:12px;}
/* Profile tabs: keep everything on ONE horizontal row (scroll if needed) */
.p2-tabs{
  display:flex;
  gap:8px;
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding:0 6px 6px;
  scrollbar-width:none; /* Firefox */
}
.p2-tabs::-webkit-scrollbar{display:none;} /* iOS/Chrome */
.p2-tabs .seg-btn{
  border-radius:14px; /* less round */
  padding:8px 10px;   /* less padding */
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:0;
  white-space:nowrap;
}
.p2-tabs .seg-btn .lock svg{width:16px;height:16px;fill:currentColor;opacity:.85;}

.ucom{border:0;background:var(--card);border-radius:18px;padding:12px 14px;box-shadow:var(--shadow);margin:10px 0;}
.ucom-meta{font-size:12px;color:var(--muted);margin-bottom:8px;}
.ucom-meta a{color:inherit;text-decoration:underline;}
.ucom-body{font-size:14px;line-height:1.35;overflow-wrap:anywhere;word-break:break-word;}

.ucom-post-preview{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:8px 10px;margin:0 0 10px;}
.ucom-post-thumb{flex:0 0 52px;width:52px;height:52px;border-radius:10px;overflow:hidden;background:rgba(0,0,0,.06);display:block;}
.ucom-post-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ucom-post-copy{min-width:0;display:flex;flex-direction:column;gap:2px;}
.ucom-post-title{font-size:13px;line-height:1.25;font-weight:700;color:var(--text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ucom-post-excerpt{font-size:12px;line-height:1.3;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ucom-media{margin-top:10px;}
.ucom-media img{max-width:260px;width:100%;height:auto;border-radius:14px;border:0;display:block;}
.ucom-reply{margin-left:calc(var(--d) * 14px);}

/* Post detail: comments should be as wide as post content (minimal side padding) and without borders */
body.is-post #comments .ucom{position:relative;}
body.is-post #comments .ucom{margin-left:0;margin-right:0;padding:8px 0;border:0;box-shadow:none;}

/* Post comment avatars (match overall app avatar style) */
body.is-post #comments .ucom-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
body.is-post #comments .ucom-av{display:block;flex:0 0 auto;}
body.is-post #comments .ucom-av img{width:28px;height:28px;border-radius:999px;display:block;object-fit:cover;}
body.is-post #comments .ucom-head .ucom-meta{margin:0;}
#comments .ucom .comment-body{font-size:var(--fs-comment,16px);line-height:1.35;margin-top:0;}
#comments .ucom .comment-bar{margin-top:10px;}
#comments .ucom .comment-media img{max-width:260px;}

/* Replies: slightly narrower + reddit-like thread line */
body.is-post #comments .ucom.is-reply{margin-left:12px;margin-right:0;background:rgba(0,0,0,.02);}
body.is-post #comments .ucom.is-reply:before{
  content:"";
  position:absolute;
  left:-8px;
  top:10px;
  bottom:10px;
  width:2px;
  background:rgba(0,0,0,.10);
  border-radius:2px;
}

/* Collapse button */
#comments .comment-bar .c-collapse{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--muted);
  background:transparent;
  border:0;
  padding:6px 6px;
  white-space:nowrap;
}
#comments .comment-bar .c-collapse .ccaret{
  width:10px;height:10px;display:inline-block;flex:0 0 auto;
  border-right:2px solid rgba(0,0,0,.35);
  border-bottom:2px solid rgba(0,0,0,.35);
  transform:rotate(-45deg);
  margin-top:1px;
  margin-right:2px;
}
#comments .comment-bar .c-collapse[aria-expanded="false"] .ccaret{transform:rotate(45deg);}

/* Hidden replies */
#comments .ucom.is-hidden{display:none;}

/* Swipe-to-reply feedback */
#comments .ucom.swipe-reply{background:rgba(0,0,0,.04);}


/* ===== FINAL: bigger site logo in top header ===== */
:root{ --topbar-h:64px; }
.topbar-inner{ height:var(--topbar-h); padding:0 16px; }
.topbar-left{ height:100%; }
.topbar-logo{
  height:40px;
  width:auto;
  max-height:40px;
  max-width:170px;
  object-fit:contain;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
}
/* keep existing side/bottom paddings, only sync top with header height */
.container{ padding-top: calc(var(--topbar-h) + 12px) !important; }


/* Dark mode */
:root[data-theme="dark"] {
  --bg: #0b0c10;
  --card: #12141a;
  --text: #e7e9ee;
  --muted: #a8afbf;
  --border: rgba(255,255,255,.10);
  --chip: rgba(255,255,255,.08);
  --shadow: 0 12px 30px rgba(0,0,0,.35);
  --repost-color:#22c55e;
}
:root[data-theme="dark"] body { background: var(--bg); color: var(--text); }

:root[data-theme="dark"] .actions{color:rgba(231,233,238,.78)}
:root[data-theme="dark"] .vbtn svg{fill:rgba(231,233,238,.82)}
:root[data-theme="dark"] .abtn svg{fill:rgba(231,233,238,.72)}
:root[data-theme="dark"] .count{color:rgba(231,233,238,.92)}
:root[data-theme="dark"] .post-meta{color:rgba(231,233,238,.70)}
:root[data-theme="dark"] .meta-comm{color:rgba(231,233,238,.92)}
:root[data-theme="dark"] .dot{color:rgba(231,233,238,.35)}
:root[data-theme="dark"] .post-excerpt{color:rgba(231,233,238,.66)}
:root[data-theme="dark"] .topbar { background: rgba(18,20,26,.92); border-bottom-color: rgba(255,255,255,.08); }
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .post-card,
:root[data-theme="dark"] .sheet { background: var(--card); border-color: rgba(255,255,255,.10); }
:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.10); color: var(--text); }

/* Link preview card in dark mode */
:root[data-theme="dark"] .urlpv-card{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
:root[data-theme="dark"] .urlpv-title{color:rgba(231,233,238,.98)}
:root[data-theme="dark"] .urlpv-desc{color:rgba(231,233,238,.70)}
:root[data-theme="dark"] .urlpv-site{color:rgba(231,233,238,.65)}

/* Dark-mode skeleton shimmer */
:root[data-theme="dark"] #urlPreview.is-loading .urlpv-site,
:root[data-theme="dark"] #urlPreview.is-loading .urlpv-title,
:root[data-theme="dark"] #urlPreview.is-loading .urlpv-desc{background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.14),rgba(255,255,255,.06));}
:root[data-theme="dark"] #urlPreview.is-loading .urlpv-desc::after{background-image:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.14),rgba(255,255,255,.06));}

/* Profile tabs + activity */
.profile-tabs {
  display:flex;
  gap:8px;
  margin:12px 0 6px;
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
}
.profile-tabs::-webkit-scrollbar{ display:none; }
.profile-tabs .seg-btn {
  flex:0 0 auto;
  text-align:center;
  padding:8px 10px;
  font-size:12px;
  white-space:nowrap;
}
.profile-feed { min-height:120px; }
.profile-feed .feed-empty { padding:14px 6px; color: var(--muted); }
.activity-item { border:1px solid var(--border); background: var(--card); border-radius:18px; padding:12px 14px; box-shadow: var(--shadow); margin:10px 0; }
.activity-meta { font-size:12px; color: var(--muted); margin-bottom:6px; }
.activity-body a { color: inherit; text-decoration: underline; }

/* Theme button */
.iconbtn.theme-btn{width:42px;height:42px;border-radius:999px;background:rgba(0,0,0,.04);border:1px solid var(--border)}

/* Achievements */
.ach-wrap{padding:10px 6px 24px; display:flex; flex-direction:column; gap:10px;}
.ach-reputation-card{margin-bottom:12px;}
.ach-reputation-line{display:flex;align-items:center;gap:10px;margin-top:8px;white-space:nowrap;}
.ach-current-level-badge-img{width:28px;height:28px;border-radius:8px;object-fit:cover;display:block;flex:0 0 auto;}
.ach-current-level-badge-fallback{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;font-size:15px;flex:0 0 auto;}
.ach-level-label{font-size:17px;line-height:1.15;font-weight:900;letter-spacing:.02em;color:var(--text);text-transform:uppercase;}
.ach-points-label{font-size:17px;line-height:1.15;font-weight:900;letter-spacing:-.01em;color:var(--text);margin-left:70px;}
.ach-current-badge{margin-top:10px;}
:root[data-theme="dark"] .ach-current-level-badge-fallback{background:rgba(255,255,255,.10);}
.ach-earned-badges{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;}
.ach-earned-badge-img{width:32px;height:32px;border-radius:8px;object-fit:cover;display:block;}
.ach-earned-badge-fallback{width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;font-size:16px;}
:root[data-theme="dark"] .ach-earned-badge-fallback{background:rgba(255,255,255,.10);}
@media (max-width:420px){.ach-reputation-line{gap:8px}.ach-level-label,.ach-points-label{font-size:16px}.ach-current-level-badge-img,.ach-current-level-badge-fallback{width:26px;height:26px}.ach-points-label{margin-left:52px}}
.ach-card{display:flex; gap:12px; align-items:flex-start; border:1px solid var(--border); background:var(--card); border-radius:18px; padding:12px; box-shadow:var(--shadow);}
.ach-ic{width:44px;height:44px;border-radius:14px; display:grid; place-items:center; font-size:22px; background:rgba(0,0,0,.04);}
:root[data-theme="dark"] .ach-ic{background:rgba(255,255,255,.06)}
.ach-main{flex:1; min-width:0;}
.ach-title{font-weight:900; letter-spacing:-.01em;}
.ach-desc{color:var(--muted); font-size:13px; margin-top:3px;}
.ach-meta{margin-top:8px; font-size:12px; color:var(--muted);}
.ach-bar{margin-top:6px; height:8px; border-radius:999px; background:rgba(0,0,0,.08); overflow:hidden;}
:root[data-theme="dark"] .ach-bar{background:rgba(255,255,255,.10)}
.ach-bar span{display:block; height:100%; background:#111;}
:root[data-theme="dark"] .ach-bar span{background:#fff;}
.ach-card.unlocked .ach-bar{display:none;}
.ach-card.locked{opacity:.95;}

/* --- Channels Discover (Boost-style) --- */
.channels-page .page-head h1{margin:8px 0 10px;font-size:22px;letter-spacing:-.02em}
.seg-tabs{display:flex;gap:10px;align-items:center;margin:10px 0 14px}
.seg-tabs .seg{flex:1;display:flex;align-items:center;justify-content:center;height:44px;border-radius:999px;border:1px solid #e6e6e6;background:#f2f2f4;color:#111;font-weight:700;text-decoration:none}
.seg-tabs .seg.on{background:#0b0b0f;color:#fff;border-color:#0b0b0f}
.channel-section-head{margin:18px 0 10px}
.channel-section-head .h2row{display:flex;align-items:center;justify-content:space-between}
.channel-section-head h2{margin:0;font-size:18px;letter-spacing:-.02em}
.channel-section-head .chev{text-decoration:none;color:#111;font-weight:800;font-size:22px;line-height:1}

.channel-featured-row{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory}
.channel-featured-row::-webkit-scrollbar{display:none}
.channel-featured-card{position:relative;min-width:290px;max-width:290px;height:170px;border-radius:16px;overflow:hidden;background:#101015;scroll-snap-align:start;text-decoration:none;color:#fff;display:block;isolation:isolate}
.channel-featured-card.has-banner{background:#101015}
.channel-featured-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.channel-featured-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(0,0,0,.25) 0%, rgba(0,0,0,.65) 60%, rgba(0,0,0,.80) 100%)}
.channel-featured-top{position:relative;z-index:2;display:flex;gap:10px;align-items:center;padding:14px 14px 8px}
.channel-featured-icon{width:40px;height:40px;border-radius:12px;object-fit:cover;background:#222}
.channel-featured-icon.placeholder{display:flex;align-items:center;justify-content:center;font-weight:900}
.channel-featured-title .name{font-weight:900;font-size:18px;letter-spacing:-.02em}
.channel-featured-title .slug{opacity:.85;font-weight:700;margin-top:2px}
.channel-featured-stats{position:relative;z-index:2;display:flex;gap:14px;padding:0 14px}
.channel-featured-stats div{display:flex;flex-direction:column;gap:2px}
.channel-featured-stats b{font-size:16px;letter-spacing:-.02em}
.channel-featured-stats span{font-size:12px;opacity:.8}
.channel-featured-desc{position:relative;z-index:2;padding:10px 14px 0;font-size:13px;opacity:.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}


.channel-hrow{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory}
.channel-hrow::-webkit-scrollbar{display:none}
.channel-hrow > [role="listitem"]{scroll-snap-align:start;flex:0 0 auto}
.channel-hrow .channel-card{min-width:290px;max-width:290px}
@media (max-width:420px){.channel-hrow .channel-card{min-width:260px;max-width:260px}}

.channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:420px){.channel-grid{grid-template-columns:1fr}}
.channel-card{display:block;border:1px solid #ececec;border-radius:16px;padding:14px;text-decoration:none;color:#111;background:#fff}
.channel-card-top{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.channel-card-icon{width:44px;height:44px;border-radius:14px;object-fit:cover;background:#f1f1f1}
.channel-card-icon.placeholder{display:flex;align-items:center;justify-content:center;font-weight:900;color:#666}
.channel-card-name{font-weight:900;font-size:16px;letter-spacing:-.02em}
.channel-card-slug{font-weight:700;color:#7a7a7a;margin-top:2px}
.channel-card-desc{color:#444;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px}
.channel-card-stats{display:flex;gap:18px;color:#6b6b6b;font-size:13px;font-weight:600}

.channel-actions-row{display:flex;gap:12px;margin:10px 0 14px}
.channel-actions-row .btn{flex:1}
.channel-list{display:flex;flex-direction:column;gap:12px}
.channel-row{display:flex;gap:12px;align-items:stretch;border:1px solid #ececec;border-radius:16px;background:#fff;overflow:hidden}
.channel-row-left{display:flex;gap:12px;align-items:flex-start;flex:1;padding:14px;text-decoration:none;color:#111}
.channel-row-icon{width:44px;height:44px;border-radius:14px;object-fit:cover;background:#f1f1f1;flex:0 0 auto}
.channel-row-icon.placeholder{display:flex;align-items:center;justify-content:center;font-weight:900;color:#666}
.channel-row-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.channel-row-title .name{font-weight:900}
.channel-row-title .slug{font-weight:700;color:#7a7a7a}
.channel-row-desc{margin-top:4px;color:#444}
.channel-row-meta{margin-top:6px;color:#6b6b6b;font-size:13px;font-weight:600}
.channel-row-right{display:flex;flex-direction:column;gap:10px;justify-content:center;padding:14px}
.channel-row-right form{margin:0}


/* Composer: media picker (max 4) – compact strip below categories */
.composer-media{ margin: 8px 16px 0; }
.media-strip-head{display:flex;justify-content:flex-end;align-items:center;margin:0 0 8px}
.media-count{font-size:13px;font-weight:800;color:#6b6b6b;background:#f3f4f6;border:1px solid rgba(0,0,0,.08);padding:6px 10px;border-radius:999px}

.media-grid.media-strip{
  display:flex;
  gap: 10px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
  padding: 0 0 10px;
}
.media-grid.media-strip::-webkit-scrollbar{display:none}

.media-grid.media-strip .media-tile,
.media-grid.media-strip .media-add{
  flex:0 0 auto;
  width: clamp(92px, 24vw, 116px);
  scroll-snap-align:start;
}
.media-tile, .media-add{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:#f3f4f6;
  border:1px solid rgba(0,0,0,.08);
  aspect-ratio: 1 / 1;
}
.media-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Video thumbnail wrapper in composer */
.media-vidwrap{
  width:100%;
  height:100%;
  position:relative;
}
.media-vidbadge{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(0,0,0,.45);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  pointer-events:none;
}
.media-x{
  position:absolute;
  top:6px;
  right:6px;
  width:24px;
  height:24px;
  border-radius:999px;
  border:0;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:20px;
  line-height:28px;
  cursor:pointer;
}
.media-add{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:2px solid rgba(0,0,0,.15);
}
.media-add-ico{
  font-size:22px;
  color:#666;
}
.media-hint{
  margin-top:8px;
  font-size:12px;
  color:#777;
}

/* Post: image grid (1-4 images) */
.img-grid{
  display:grid;
  gap:0;
  border-radius:14px;
  overflow:hidden;
}
.img-grid.n1{ grid-template-columns: 1fr; }
.img-grid.n2{ grid-template-columns: 1fr 1fr; }
.img-grid.n3, .img-grid.n4{ grid-template-columns: 1fr 1fr; }

.img-grid a{ display:block; }
.img-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.img-grid.n1 img{ aspect-ratio: 16 / 9; }
.img-grid.n2 img{ aspect-ratio: 1 / 1; }
.img-grid.n3 img, .img-grid.n4 img{ aspect-ratio: 1 / 1; }

/* Optional: make first tile bigger for 3 images */
.img-grid.n3 a:first-child{ grid-column: 1 / span 2; }
.img-grid.n3 a:first-child img{ aspect-ratio: 16 / 9; }


/* Upload progress (composer) */
.upload-progress[hidden]{display:none !important}
.upload-progress{
  position:sticky;
  top:56px;
  z-index:69;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  background:#fff;
  border-bottom:1px solid #eceef2;
}
.upload-progress-track{flex:1;height:10px;border-radius:999px;background:rgba(0,0,0,.08);overflow:hidden;}
.upload-progress-bar{height:100%;width:0%;border-radius:999px;background:rgba(0,0,0,.85);transition:width .15s linear;}
.upload-progress-text{min-width:44px;text-align:right;font-weight:800;font-size:13px;opacity:.75;}


.composer-right{display:flex;align-items:center;gap:10px}
.composer-fieldwrap{position:relative}
.composer-titlewrap{margin-bottom:10px}
.composer-title{padding-right:96px}
.composer-bodytext{padding-bottom:4px}
.field-counter,
.line-counter{
  display:inline-flex;align-items:baseline;gap:2px;
  padding:7px 8px;border-radius:999px;
  background:#fff;color:#5f6368;
  font-weight:800;font-size:12px;
  border:none;
}
.field-counter{
  position:absolute;
  right:0;
  z-index:4;
  pointer-events:none;
  box-shadow:none;
}
.title-counter{top:50%;transform:translateY(-50%)}
.body-counter-row{display:flex;justify-content:flex-end;padding:0 0 6px 0}
.line-counter--below{position:static;right:auto;bottom:auto;margin-top:-2px}
.line-counter .lc-num,
.field-counter .lc-num{min-width:2ch;text-align:right}
.line-counter.warn,
.field-counter.warn{background:#fff;border:none;color:#8a5a00}
.line-counter.over,
.field-counter.over{background:#fff;border:none;color:#8a0000}

/* Floating counter near caret while typing */
.composer-bodywrap{position:relative}
.floating-counter{
  position:absolute;z-index:30;
  display:inline-flex;align-items:baseline;gap:2px;
  padding:6px 9px;border-radius:999px;
  background:#f1f3f4;color:#5f6368;
  font-weight:800;font-size:12px;
  border:1px solid #e3e6e8;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  pointer-events:none;
  opacity:.98;
  transform:translate(10px, 12px);
}
.floating-counter .lc-num{min-width:2ch;text-align:right}
.floating-counter.warn{background:#fff7e6;border-color:#ffe0a3;color:#8a5a00}
.floating-counter.over{background:#ffecec;border-color:#ffb3b3;color:#8a0000}


/* Post detail topbar (Back) - iOS safe area */
.post-detail-topbar{
  position: sticky;
  top: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: 10px;
  /* iOS: keep content below the notch while preserving a consistent bar height */
  height: calc(56px + env(safe-area-inset-top));
  padding: 0 14px;
  padding-top: env(safe-area-inset-top);
  background: var(--bg, #fff);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.post-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 22px;
  line-height: 1;
  /* Apple HIG: 44x44 minimum tap target */
  width: 44px;
  height: 44px;
  border-radius: 12px;
  text-decoration:none;
  color: var(--text, #111);
}
.post-back:active{ background: rgba(0,0,0,.06); }
.post-detail-title{
  font-weight: 700;
  font-size: 18px;
}



/* ===== Dark theme refinement (contrast + cards + controls) ===== */
:root[data-theme="dark"]{
  --bg:#0b0f14;
  --card:#111827;
  --card2:#0f172a;
  --text:#e5e7eb;
  --muted:#a3adba;
  --border:rgba(255,255,255,.10);
  --primary:#e5e7eb;
  --pill:#e5e7eb;
  --pillText:#0b0f14;
}

:root[data-theme="dark"] body{
  background:var(--bg);
  color:var(--text);
}

/* Fix any leftover hardcoded white surfaces */
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .sheet,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .box,
:root[data-theme="dark"] .search-card,
:root[data-theme="dark"] .activity-card,
:root[data-theme="dark"] .profile-card,
:root[data-theme="dark"] .channel-card,
:root[data-theme="dark"] .comment,
:root[data-theme="dark"] .comment-box,
:root[data-theme="dark"] .channel-row,
:root[data-theme="dark"] .p2,
:root[data-theme="dark"] .fi,
:root[data-theme="dark"] .fi-card{
  background:var(--card) !important;
  color:var(--text);
  border-color:var(--border) !important;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select{
  background:var(--card2) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
}
:root[data-theme="dark"] input::placeholder,
:root[data-theme="dark"] textarea::placeholder{
  color:rgba(163,173,186,.75) !important;
}

/* Buttons / pills */
:root[data-theme="dark"] .btn,
:root[data-theme="dark"] .pill,
:root[data-theme="dark"] .seg a,
:root[data-theme="dark"] .seg button{
  border-color:var(--border) !important;
}
:root[data-theme="dark"] .btn.primary,
:root[data-theme="dark"] .pill.on,
:root[data-theme="dark"] .seg .on{
  background:rgba(229,231,235,.92) !important;
  color:#0b0f14 !important;
}

/* Dark mode: empty states should not render white icon tiles */
:root[data-theme="dark"] .empty .illus,
:root[data-theme="dark"] .empty-state .illus{
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.12) !important;
}
:root[data-theme="dark"] .empty .illus svg,
:root[data-theme="dark"] .empty-state .illus svg{
  fill: rgba(231,233,238,.72) !important;
}

/* Post actions (vote arrows / counters) */
:root[data-theme="dark"] .fi-ibtn{
  color:rgba(229,231,235,.88) !important;
}
:root[data-theme="dark"] .fi-ibtn svg{opacity:.92}
:root[data-theme="dark"] .fi-count,
:root[data-theme="dark"] .fi-num{
  color:rgba(229,231,235,.92) !important;
  font-weight:700;
}
:root[data-theme="dark"] .fi-ibtn.on{
  color:var(--accent) !important;
}

/* Feed meta (user / channel / time) */
:root[data-theme="dark"] .fi-head{color:rgba(229,231,235,.78) !important;}
:root[data-theme="dark"] .fi-user{color:rgba(229,231,235,.80) !important;}
:root[data-theme="dark"] .fi-comm{color:rgba(229,231,235,.95) !important;}
:root[data-theme="dark"] .fi-time{color:rgba(163,173,186,.92) !important;}
:root[data-theme="dark"] .fi-dot{color:rgba(229,231,235,.35) !important; opacity:1;}


/* Comment voting */
:root[data-theme="dark"] .c-vote .vbtn{
  color:rgba(229,231,235,.88) !important;
}
:root[data-theme="dark"] .c-vote .count{
  color:rgba(229,231,235,.92) !important;
  font-weight:700;
}
:root[data-theme="dark"] .c-vote .vbtn.on{
  color:var(--accent) !important;
}
:root[data-theme="dark"] .c-vote .vbtn.on svg{fill:var(--accent) !important;}

/* Channel stats contrast */
:root[data-theme="dark"] .channel-stats .stat{
  background:rgba(255,255,255,.03) !important;
  border:1px solid var(--border) !important;
}
:root[data-theme="dark"] .channel-stats .n{color:rgba(229,231,235,.95) !important;}
:root[data-theme="dark"] .channel-stats .l{color:rgba(163,173,186,.88) !important;}

/* Channel avatar on banner */
.channel-hero-avatar{
  position:absolute;
  left:50%;
  bottom:150px;
  transform:translateX(-50%);
  width:64px;
  height:64px;
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.25);
  border:2px solid rgba(255,255,255,.35);
  box-shadow:0 10px 24px rgba(0,0,0,.35);
  z-index:3;
}
.channel-hero-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.channel-hero-avatar-fallback{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:26px;color:#fff;
  background:rgba(0,0,0,.25);
}
.channel-hero-title{left:50%;transform:translateX(-50%);bottom:84px;text-align:center;}

/* Make "Joined" pill readable in dark */
:root[data-theme="dark"] .channel-join,
:root[data-theme="dark"] .joined,
:root[data-theme="dark"] .channel-row .btn{
  background:rgba(255,255,255,.06) !important;
  color:rgba(229,231,235,.95) !important;
}


/* === Channel banner layout (match Boost-like overlay with avatar + stats on banner) === */
.channel-hero{
  height:280px;
}

.channel-hero-overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  /* compact overlay so the banner image stays visible */
  padding:12px 14px 12px;
  color:#fff;
  background:linear-gradient(180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.28) 32%,
    rgba(0,0,0,.62) 72%,
    rgba(0,0,0,.78) 100%
  );
}

.channel-hero-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

/* override old centered avatar */
.channel-hero-avatar{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  width:44px;
  height:44px;
  border-radius:12px;
  overflow:hidden;
  background:rgba(0,0,0,.22);
  border:2px solid rgba(255,255,255,.28);
  box-shadow:0 10px 22px rgba(0,0,0,.32);
}

/* override old centered title */
.channel-hero-title{
  position:relative;
  left:auto;
  bottom:auto;
  transform:none;
  text-align:left;
  margin-top:1px;
  color:#fff;
  text-shadow:0 10px 24px rgba(0,0,0,.32);
}

/* smaller typography (more banner, less text) */
.channel-hero-name{font-size:22px; font-weight:850; letter-spacing:-.01em; line-height:1.1}
.channel-hero-slug{font-size:13px; font-weight:750; opacity:.90; margin-top:2px}

.channel-hero-stats{
  display:flex;
  gap:18px;
  margin-top:10px;
}
/*
  Channel banner stats should be plain text overlay (like the reference screenshot),
  not boxed cards (global .stat styles are card-like).
*/
.channel-hero-stats .stat{
  min-width:0;
  flex:0 0 auto;
  border:0;
  background:transparent;
  padding:0;
  border-radius:0;
}
.channel-hero-stats .n{font-size:18px; font-weight:850; letter-spacing:-.01em; line-height:1.15;}
.channel-hero-stats .l{font-size:11px; opacity:.88; margin-top:1px;}

.channel-hero-desc{
  margin-top:8px;
  font-size:13px;
  line-height:1.25;
  opacity:.90;
}

/* Hide old card description/stats if any CSS leftovers exist */
.channel-card .channel-desc,
.channel-card .channel-stats{display:none !important;}

/* Live search: subtle loading shimmer on input */
#searchInput.is-loading{
  background-image: linear-gradient(90deg, rgba(0,0,0,.05), rgba(0,0,0,.12), rgba(0,0,0,.05));
  background-size: 200% 100%;
  animation: searchShimmer 1.1s linear infinite;
}
@keyframes searchShimmer{
  0%{ background-position: 200% 0; }
  100%{ background-position: -200% 0; }
}


/* @mention autosuggest dropdown */
.mention-wrap{ position:relative; }
.mention-suggest{
  position:absolute;
  left:0;
  right:0;
  margin-top:6px;
  background: var(--card, #111);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  overflow:hidden;
  z-index: 60;
  box-shadow: 0 10px 24px rgba(0,0,0,0.35);
}
.mention-suggest[hidden]{ display:none !important; }
.ms-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  background: transparent;
  border:0;
  text-align:left;
  color: var(--text, #fff);
}
.ms-item:hover{ background: rgba(255,255,255,0.06); }
.ms-av{
  width:28px; height:28px; border-radius:999px;
  object-fit:cover; flex:0 0 auto;
  background: rgba(255,255,255,0.08);
}
.ms-av-fallback{
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:14px;
}
.ms-name{ font-size:14px; font-weight:700; flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:6px; }
.ms-user-badge{ width:18px; height:18px; object-fit:contain; flex:0 0 auto; }
.ms-badges{ display:flex; gap:6px; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; }
.ms-b{
  font-size:11px;
  line-height:1;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.06);
  color: var(--muted, rgba(255,255,255,0.78));
  font-weight:800;
  white-space:nowrap;
}
.ms-loading{
  display:flex; gap:6px; padding:12px;
}
.ms-loading span{
  width:8px; height:8px; border-radius:999px;
  background: rgba(255,255,255,0.35);
  animation: msPulse 0.9s infinite ease-in-out;
}
.ms-loading span:nth-child(2){ animation-delay: .15s; }
.ms-loading span:nth-child(3){ animation-delay: .30s; }
@keyframes msPulse{
  0%, 80%, 100%{ opacity: .25; transform: translateY(0); }
  40%{ opacity: 1; transform: translateY(-2px); }
}

/* Topbar logout button alignment */
.topbar-logout{display:inline;margin:0;}
.topbar-logout .pill{cursor:pointer;}
.pill-ghost{background:transparent;border:1px solid rgba(255,255,255,.18);} 
[data-theme="light"] .pill-ghost{border-color:rgba(0,0,0,.15);} 

.btn-logout{background:#fff;color:#000;border-radius:12px;padding:8px 14px;border:none;}

/* PWA install prompt */
.pwa-install[hidden]{display:none !important;}
.pwa-install{
  position:fixed;
  inset:0;
  z-index:9999;
}
.pwa-install__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.45);
}
.pwa-install__card{
  position:absolute;
  left:50%;
  /* Sit above the fixed bottom navigation + iOS Safari bars */
  bottom: calc(var(--bn-h, 56px) + env(safe-area-inset-bottom) + var(--nav-shift, 0px) + 12px);
  transform: translateX(-50%);
  width: min(520px, calc(100vw - 20px));
  background: var(--card, #111);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 16px 48px rgba(0,0,0,0.35);
}
[data-theme="light"] .pwa-install__card{
  background: #fff;
  border-color: rgba(0,0,0,0.10);
}
.pwa-install__title{
  font-weight: 800;
  font-size: 15px;
  margin-bottom: 6px;
}
.pwa-install__text{
  font-size: 13px;
  opacity: 0.9;
  line-height: 1.35;
}
.pwa-install__actions{
  display:flex;
  gap:10px;
  margin-top: 12px;
  justify-content: flex-end;
}

/* Inline edit modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;z-index:9999;padding:12px;}
.modal-sheet{width:min(680px,100%);background:var(--card,#fff);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden;}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.06);}
.modal-title{font-weight:700;}
.modal-btn{background:transparent;border:0;padding:8px 10px;border-radius:10px;font-weight:600;}
.modal-btn.primary{background:#111;color:#fff;}
.modal-body{padding:14px;}
.modal-label{display:block;font-size:12px;color:rgba(0,0,0,.6);margin-bottom:6px;}
.modal-input{width:100%;padding:12px 12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;font-size:16px;outline:none;}
.modal-ta{width:100%;padding:12px 12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;font-size:16px;outline:none;resize:none;}


/* Inline edit modal improvements */
/*
  Keep the sheet ABOVE the bottom nav / safe-area.
  Also hide bottom UI chrome while modal is open.
*/
.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:9999;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  padding:12px;
  padding-bottom: calc(12px + var(--bn-h) + env(safe-area-inset-bottom) + 10px);
}
.modal-sheet{
  width:100%;
  max-width:720px;
  background:#fff;
  border-radius:16px 16px 12px 12px;
  max-height: calc(100vh - (24px + var(--bn-h) + env(safe-area-inset-bottom) + 10px));
  overflow:hidden;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.06);}
.modal-title{font-weight:700;}
.modal-btn{background:transparent;border:0;padding:8px 10px;font-weight:600;}
.modal-btn.primary{background:#111;color:#fff;border-radius:999px;}
.modal-body{padding:12px 14px;overflow:auto;max-height:calc(100vh - 120px);}
.modal-label{display:block;font-size:13px;color:#666;margin-bottom:6px;}
.modal-input{width:100%;padding:12px 12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;font-size:16px;}
.modal-ta{width:100%;padding:12px 12px;border:1px solid rgba(0,0,0,.12);border-radius:12px;font-size:16px;resize:none;}
.modal-urlrow{display:flex;gap:10px;align-items:center;}
.modal-urlrow .modal-input{flex:1;}
.modal-urlbtn{flex:0 0 auto;border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.04);padding:10px 12px;border-radius:12px;font-weight:600;}
.modal-sep{height:1px;background:rgba(0,0,0,.06);margin:12px 0;}
.modal-count{font-size:12px;color:#666;}

.modal-media-strip{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:6px 2px 10px;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}

/* Prevent overlap: hide bottom nav + FAB while modal is open */
body.modal-open .bottomnav,
body.modal-open .fab,
body.modal-open .fab-compose{ display:none !important; }
.modal-media-tile{
  position:relative;
  width:120px;
  height:120px;
  flex:0 0 auto;
  border-radius:14px;
  overflow:hidden;
  background:#f2f3f5;
  scroll-snap-align:start;
}
.modal-media-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.modal-media-x{
  position:absolute;
  top:8px;
  right:8px;
  width:30px;
  height:30px;
  border-radius:999px;
  border:0;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-size:18px;
  line-height:30px;
}
.modal-media-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:48px;height:48px;border-radius:999px;
  background:rgba(0,0,0,.35);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;
}
.modal-media-add{
  width:120px;height:120px;flex:0 0 auto;
  border-radius:14px;
  border:2px dashed rgba(0,0,0,.18);
  background:transparent;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#333;
}
.modal-media-add-ic{font-size:26px;line-height:1;}
.modal-media-add-txt{font-size:12px;margin-top:4px;opacity:.75;}

html, body { touch-action: manipulation; }
input, textarea, select { font-size:16px; }

/* PWA install prompt logo */
.pwa-install__logo{
  display:flex;
  justify-content:center;
  margin: 4px 0 10px;
}
.pwa-install__logo img{
  width: 84px;
  height: 84px;
  border-radius: 22px;
  object-fit: cover;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  background: rgba(255,255,255,0.08);
}

/* Rich text (URLs + @mentions) */
.richtext a{
  color: #3b82f6;
  text-decoration: none;
  word-break: break-word;
}
.richtext a:hover{
  text-decoration: underline;
}
/* Post comments: tighter meta spacing */
body.is-post #comments .ucom-meta{margin-bottom:6px;}
body.is-post #comments .ucom-body{font-size:14px;line-height:1.35;}

.ucom-replyto{color:var(--muted);font-size:12px;margin-top:2px;}
.ucom-replyto a{text-decoration:underline;color:inherit;}

/* Replies: keep full width but make it obvious */
body.is-post #comments .ucom-reply{margin-left:0;}
body.is-post #comments .ucom.is-reply{background:rgba(0,0,0,.03);padding-left:14px;}
body.is-post #comments .ucom.is-reply .ucom-replyto{font-weight:600;}




/* Desktop uses the same sidebar structure as the mobile drawer */
.desktop-drawer-sidebar{display:none}
@media (min-width:1024px){
  .desktop-drawer-sidebar{display:block}
  .desktop-drawer-sidebar .drawer-panel{
    position:relative;
    inset:auto;
    width:100%;
    max-width:none;
    transform:none;
    transition:none;
    box-shadow:none;
    border:1px solid var(--border,#e5e7eb);
    border-radius:18px;
    padding-top:0;
    background:#fff;
    max-height:calc(100vh - 100px);
    scrollbar-width:none;
    scrollbar-color:rgba(120,128,140,.55) transparent;
  }
  .desktop-drawer-sidebar .drawer-panel:hover,
  .desktop-drawer-sidebar .drawer-panel:focus-within{
    scrollbar-width:thin;
  }
  .desktop-drawer-sidebar .drawer-panel::-webkit-scrollbar{
    width:0;
    display:block;
  }
  .desktop-drawer-sidebar .drawer-panel:hover::-webkit-scrollbar,
  .desktop-drawer-sidebar .drawer-panel:focus-within::-webkit-scrollbar{
    width:8px;
  }
  .desktop-drawer-sidebar .drawer-panel::-webkit-scrollbar-thumb{
    background:rgba(120,128,140,.55);
    border-radius:999px;
  }
  .desktop-drawer-sidebar .drawer-panel::-webkit-scrollbar-track{
    background:transparent;
  }
  .desktop-drawer-sidebar .drawer-head{padding:14px 14px 10px}
  .desktop-drawer-sidebar .drawer-section{padding:12px 10px}
}


@media (min-width:1024px){
  /* Slightly wider desktop sidebar */
  .desktop-drawer-sidebar .drawer-item{padding:13px 12px;}
  .desktop-drawer-sidebar .drawer-lbl{font-size:15px;}

  /* Desktop hover-scroll rows for profile/category tabs */
  .p2-tabs,
  .profile-tabs,
  .categories-tab-row,
  .chips,
  .seg-9gag{
    overflow-x:auto;
    overflow-y:hidden;
    flex-wrap:nowrap;
    scrollbar-width:none;
    scrollbar-color:rgba(120,128,140,.55) transparent;
  }
  .p2-tabs:hover,
  .p2-tabs:focus-within,
  .profile-tabs:hover,
  .profile-tabs:focus-within,
  .categories-tab-row:hover,
  .categories-tab-row:focus-within,
  .chips:hover,
  .chips:focus-within,
  .seg-9gag:hover,
  .seg-9gag:focus-within{
    scrollbar-width:thin;
  }
  .p2-tabs::-webkit-scrollbar,
  .profile-tabs::-webkit-scrollbar,
  .categories-tab-row::-webkit-scrollbar,
  .chips::-webkit-scrollbar,
  .seg-9gag::-webkit-scrollbar{
    height:0;
    display:block;
  }
  .p2-tabs:hover::-webkit-scrollbar,
  .p2-tabs:focus-within::-webkit-scrollbar,
  .profile-tabs:hover::-webkit-scrollbar,
  .profile-tabs:focus-within::-webkit-scrollbar,
  .categories-tab-row:hover::-webkit-scrollbar,
  .categories-tab-row:focus-within::-webkit-scrollbar,
  .chips:hover::-webkit-scrollbar,
  .chips:focus-within::-webkit-scrollbar,
  .seg-9gag:hover::-webkit-scrollbar,
  .seg-9gag:focus-within::-webkit-scrollbar{
    height:8px;
  }
  .p2-tabs::-webkit-scrollbar-thumb,
  .profile-tabs::-webkit-scrollbar-thumb,
  .categories-tab-row::-webkit-scrollbar-thumb,
  .chips::-webkit-scrollbar-thumb,
  .seg-9gag::-webkit-scrollbar-thumb{
    background:rgba(120,128,140,.55);
    border-radius:999px;
  }
  .p2-tabs::-webkit-scrollbar-track,
  .profile-tabs::-webkit-scrollbar-track,
  .categories-tab-row::-webkit-scrollbar-track,
  .chips::-webkit-scrollbar-track,
  .seg-9gag::-webkit-scrollbar-track{
    background:transparent;
  }
  .categories-tab-row{
    display:flex;
    gap:8px;
    padding:0 2px 8px;
    margin-top:10px;
  }
  .categories-tab-row .btn.pill{
    flex:0 0 auto;
    white-space:nowrap;
  }

  /* Keep explore tabs/chips visually inside the main feed column on desktop */
  .digg-main .seg-9gag,
  .digg-main .chips,
  .digg-main .categories-tab-row,
  .digg-main .feed > .seg-9gag,
  .digg-main .feed > .chips{
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .digg-main .seg-9gag,
  .digg-main .feed > .seg-9gag{
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }
  .digg-main .chips,
  .digg-main .categories-tab-row,
  .digg-main .feed > .chips{
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }
}

/* === Desktop layout (Digg-like) ===
   Mobile remains unchanged. Enabled only on wider screens.
*/
.digg-shell { display:block; }
.digg-left, .digg-right { display:none; }
@media (min-width: 1280px) {
  main.container { max-width: 1620px; }
  .digg-shell{
    display:grid;
    grid-template-columns: 348px minmax(0, 760px) 340px;
    justify-content:center;
    gap: 24px;
    align-items:start;
  }
  .digg-main{ min-width:0; }
  .digg-left,
  .digg-right{
    display:block;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow:auto;
    padding-right: 2px;
    scrollbar-width:none;
    scrollbar-color:rgba(120,128,140,.55) transparent;
  }
  .digg-left:hover,
  .digg-left:focus-within,
  .digg-right:hover,
  .digg-right:focus-within{
    scrollbar-width:thin;
  }
  .digg-left::-webkit-scrollbar,
  .digg-right::-webkit-scrollbar{
    width:0;
    display:block;
  }
  .digg-left:hover::-webkit-scrollbar,
  .digg-left:focus-within::-webkit-scrollbar,
  .digg-right:hover::-webkit-scrollbar,
  .digg-right:focus-within::-webkit-scrollbar{
    width:8px;
  }
  .digg-left::-webkit-scrollbar-thumb,
  .digg-right::-webkit-scrollbar-thumb{
    background:rgba(120,128,140,.55);
    border-radius:999px;
  }
  .digg-left::-webkit-scrollbar-track,
  .digg-right::-webkit-scrollbar-track{
    background:transparent;
  }

  .feed,
  .segmented,
  .topic-chips,
  #post-list,
  .composer-wrap,
  .channel-header,
  .profile-page,
  .settings-page,
  .page-wrap{
    max-width: 760px;
  }

  #post-list{ display:block !important; }
  #post-list .infinite-sentinel,
  #post-list .load-more{ grid-column:auto !important; }
  .feeditem{ margin:0 0 16px 0; }
  .post-card{ border-radius: 16px; }
  .post-card .media, .post-card .thumb { border-radius: 14px; overflow:hidden; }

  body.has-comment-composer #comments{ margin-bottom: 0 !important; }
  body.has-comment-composer .comment-composer{
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    z-index: auto !important;
    background: transparent !important;
    border-top: 0 !important;
    padding: 0 !important;
    margin-top: 12px;
  }
  body.has-comment-composer .comment-composer__bar{
    background: #fff;
    border: 1px solid #e6e8ee;
    border-radius: 14px;
    padding: 10px;
  }
  body.has-comment-composer .comment-composer__progress{
    background:#fff;
    border: 1px solid #e6e8ee;
    border-top: 0;
    border-radius: 0 0 14px 14px;
    padding: 10px;
    margin-top: -6px;
  }
  .bottom-nav, .compose-fab, .bottomnav, .fab-compose { display:none !important; }
}

@media (min-width: 1024px) and (max-width: 1279.98px) {
  main.container { max-width: 1220px; }
  .digg-shell{
    display:grid;
    grid-template-columns: 328px minmax(0, 760px);
    justify-content:center;
    gap: 22px;
    align-items:start;
  }
  .digg-main{ min-width:0; }
  .digg-left{
    display:block;
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow:auto;
    padding-right: 2px;
    scrollbar-width:none;
    scrollbar-color:rgba(120,128,140,.55) transparent;
  }
  .digg-left:hover,
  .digg-left:focus-within{
    scrollbar-width:thin;
  }
  .digg-left::-webkit-scrollbar{
    width:0;
    display:block;
  }
  .digg-left:hover::-webkit-scrollbar,
  .digg-left:focus-within::-webkit-scrollbar{
    width:8px;
  }
  .digg-left::-webkit-scrollbar-thumb{
    background:rgba(120,128,140,.55);
    border-radius:999px;
  }
  .digg-left::-webkit-scrollbar-track{
    background:transparent;
  }
  .digg-right{ display:none; }
  .feed{ max-width: 760px; }
  #post-list{ display:block !important; }
  #post-list .infinite-sentinel,
  #post-list .load-more{ grid-column:auto !important; }
  .feeditem{ margin:0 0 16px 0; }
  .post-card{ border-radius: 14px; }
  .post-card .media, .post-card .thumb { border-radius: 12px; overflow:hidden; }
  .bottom-nav, .compose-fab, .bottomnav, .fab-compose { display:none !important; }
}

@media (min-width: 1400px){
  #post-list{ display:block !important; }
}

.digg-card{
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.92);
  border-radius: 16px;
  padding: 14px 14px;
  margin-bottom: 14px;
}
.digg-card__title{
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 10px;
  opacity: .9;
}
.digg-list{ display:flex; flex-direction:column; gap: 8px; }
.digg-list__item{
  display:flex;
  gap: 10px;
  align-items:center;
  text-decoration:none;
  padding: 8px 8px;
  border-radius: 12px;
}
.digg-list__item:hover{ background: rgba(0,0,0,.04); }
.digg-list__icon{
  width: 34px; height: 34px;
  border-radius: 10px;
  overflow:hidden;
  flex: 0 0 34px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,0,0,.04);
}
.digg-list__icon img{ width:100%; height:100%; object-fit:cover; display:block; }
.digg-dot{
  width: 10px; height: 10px; border-radius: 50%;
  background: rgba(0,0,0,.28);
  display:inline-block;
}
.digg-list__meta{ min-width:0; display:flex; flex-direction:column; }
.digg-list__name{ font-weight: 650; font-size: 13px; line-height: 1.1; }
.digg-list__sub{ font-size: 12px; opacity: .72; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.digg-posts{ display:flex; flex-direction:column; gap: 10px; }
.digg-post{
  display:flex;
  justify-content:space-between;
  gap: 10px;
  text-decoration:none;
  padding: 10px;
  border-radius: 14px;
}
.digg-post:hover{ background: rgba(0,0,0,.04); }
.digg-post__text{ min-width:0; display:flex; flex-direction:column; gap: 4px; }
.digg-post__title{ font-weight: 650; font-size: 13px; line-height: 1.2; }
.digg-post__sub{ font-size: 12px; opacity: .72; }
.digg-post__thumb{
  width: 74px; height: 52px;
  border-radius: 12px;
  overflow:hidden;
  flex: 0 0 74px;
  background: rgba(0,0,0,.04);
}
.digg-post__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.digg-post--card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
}
.digg-post--card:hover{ background:#fafafa; }
.digg-post__thumb--large{
  width:100%;
  height:122px;
  border-radius:14px;
  overflow:hidden;
  flex:none;
}
.digg-post__excerpt{
  font-size:12px;
  line-height:1.4;
  color:rgba(0,0,0,.78);
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.digg-empty{ font-size: 12px; opacity: .7; padding: 6px 2px; }

.digg-profile-card__main{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
}
.digg-profile-card__avatar{
  width:48px;
  height:48px;
  border-radius:999px;
  overflow:hidden;
  flex:0 0 48px;
  background:rgba(0,0,0,.06);
  display:flex;
  align-items:center;
  justify-content:center;
}
.digg-profile-card__avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.digg-profile-card__fallback svg{ width:22px; height:22px; opacity:.72; }
.digg-profile-card__meta{ min-width:0; display:flex; flex-direction:column; }
.digg-profile-card__meta strong{ font-size:14px; line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.digg-profile-card__meta span{ font-size:12px; opacity:.68; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.digg-profile-card__stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:12px;
  font-size:12px;
  color:rgba(0,0,0,.72);
}
.digg-profile-card__stats b{ color:#111; }

.digg-shortcuts{ display:flex; flex-wrap:wrap; gap:8px; }
.digg-chip{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  text-decoration:none;
  color:inherit;
  background:rgba(0,0,0,.05);
  font-size:12px;
  font-weight:650;
}
.digg-chip:hover{ background:rgba(0,0,0,.09); }

.digg-tip-list{ display:flex; flex-direction:column; gap:10px; }
.digg-tip{ display:flex; flex-direction:column; gap:4px; font-size:12px; color:rgba(0,0,0,.72); }
.digg-tip strong{ font-size:13px; color:#111; }

@media (min-width: 1024px) {
  .digg-menu { padding: 10px; }
  .digg-menu__cta-wrap{ padding: 6px 6px 10px 6px; }
  .digg-menu__cta{
    display:flex;
    align-items:center;
    gap: 10px;
    width:100%;
    padding: 10px 10px;
    border-radius: 12px;
    text-decoration:none;
    background: rgba(0,0,0,0.9);
    color: #fff;
  }
  .digg-menu__cta:hover{ background: rgba(0,0,0,1); }
  .digg-menu__cta .digg-menu__ico{ opacity: 1; }
  .digg-menu__item{
    display:flex;
    align-items:center;
    gap: 10px;
    padding: 10px 10px;
    border-radius: 12px;
    text-decoration:none;
    color: inherit;
    position: relative;
  }
  .digg-menu__item:hover{ background: rgba(0,0,0,0.04); }
  .digg-menu__item.is-on{ background: rgba(0,0,0,0.06); font-weight: 700; }
  .digg-menu__ico{
    width: 22px;
    height: 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    opacity: 0.85;
  }
  .digg-menu__lbl{ flex: 1 1 auto; }
  .digg-menu__badge{
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size: 12px;
    line-height: 18px;
    background: #111;
    color: #fff;
  }
}


/* Standard-layout compose page */
body.compose-page .bottom-nav,
body.compose-page .compose-fab,
body.compose-page .bottomnav,
body.compose-page .fab-compose{ display:none !important; }
body.compose-inline .composer-wrap{ max-width:100%; }
body.compose-inline .composer-top{ background:#fff; z-index:4; }
body.compose-inline .composer-main{ max-width:760px; margin:0 auto; }
@media (max-width: 1023.98px){
  body.compose-inline .composer-top{ top:56px; }
}

/* Desktop inline composer (keeps sidebar visible) */
@media (min-width: 1024px){
  body.compose-inline .composer-wrap{ max-width: 100%; }
  body.compose-inline .composer{ margin: 0; border-radius: 16px; }
  body.compose-inline .composer-top{ position: sticky; top: 72px; z-index: 2; background: var(--card); }

  body.compose-inline .composer-toolbar{
    position: static;
    left: auto; right: auto; bottom: auto;
    width: 100%;
    min-height: 0;
    margin: 10px 0 0;
    padding: 8px 10px;
    border: 1px solid #eceef2;
    border-radius: 14px;
    background: #fff;
  }
  body.compose-inline .composer-body{ padding-bottom: 0; }
  body.compose-inline .composer-main{ padding-bottom: 24px; }
  body.compose-inline .media-grid.media-strip .media-tile,
  body.compose-inline .media-grid.media-strip .media-add{
    width: 170px;
  }
  body.compose-inline .media-grid.media-strip{ max-width: 100%; }
}

/* Drawer profile card (sidebar summary) */
.drawer-profile{display:block;text-decoration:none;color:inherit;padding:12px 14px;border-radius:14px;border:1px solid rgba(0,0,0,.06);background:#fff}
.drawer-profile:active{transform:translateY(1px)}
.drawer-profile__row{display:flex;gap:12px;align-items:center}
.drawer-profile__avatar{width:42px;height:42px;border-radius:999px;overflow:hidden;background:#f2f3f5;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.drawer-profile__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.drawer-profile__avatarFallback{font-size:20px;line-height:1}
.drawer-profile__meta{min-width:0}
.drawer-profile__name{font-weight:800;font-size:16px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drawer-profile__user{font-size:13px;color:rgba(0,0,0,.55);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.drawer-profile__counters{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;font-size:13px;color:rgba(0,0,0,.65)}
.drawer-profile__counters b{color:#000;font-weight:900}

.drawer-item:hover .drawer-ico{color:#111}
.drawer-item.is-active .drawer-ico,.drawer-item.is-active .drawer-lbl,.drawer-item.is-active .drawer-item__main .drawer-lbl{color:#111}
.drawer-item.is-active .drawer-badge{background:#111;color:#fff}
.drawer-item.is-active.drawer-item--discover:hover{background:rgba(191,219,254,.38)}

.drawer-panel{overscroll-behavior:contain}

/* search user results */
.sr-realname{font-weight:600;opacity:.9;}

.composer-categories{padding:14px 14px 12px;position:relative}.composer-category-picked-top{margin:0 0 14px;padding:0;min-height:0}.composer-categories-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-categories .muted{display:block;color:#697386;font-size:13px;font-weight:700;letter-spacing:.01em}.composer-categories .muted:last-of-type{font-size:12px;font-weight:500;color:#8a93a2;margin-top:8px}.composer-category-count{flex:0 0 auto;min-width:46px;padding:4px 10px;border-radius:999px;background:#edf4ff;border:1px solid #d5e5ff;color:#2b6fd6;font-size:12px;font-weight:800;text-align:center}.composer-selected-label{display:none;margin:12px 0 6px;color:#697386;font-size:12px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.composer-category-summary{display:none}.composer-category-summary.is-empty{display:none}.category-picked{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.composer-category-picked-top.category-picked{margin:0 0 14px}.category-picked.is-empty{display:none}.cat-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--card,#f3f4f6);border:1px solid var(--line,rgba(0,0,0,.08));font-size:13px}.cat-chip button{border:0;background:transparent;font:inherit;cursor:pointer;padding:0 0 0 2px}.composer-category-input{position:relative;z-index:2;display:block;width:100%;border:1px solid #dbe9ff;border-radius:16px;padding:14px 16px;background:#f9fbff;font:inherit;pointer-events:auto;-webkit-user-select:text;user-select:text;-webkit-appearance:none;appearance:none}.composer-category-input:focus{outline:none;border-color:#9cc2ff;box-shadow:0 0 0 4px rgba(110,168,255,.14)}.category-suggest{position:relative;z-index:40;margin-top:8px;display:flex;flex-direction:column;gap:6px}.cat-suggest-item{display:block;width:100%;text-align:left;padding:11px 12px;border-radius:14px;border:1px solid var(--line,rgba(0,0,0,.08));background:var(--bg-elevated,#fff);font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation}.cat-suggest-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.cat-suggest-name{min-width:0;flex:1;color:#2283f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-suggest-meta{flex:0 0 auto;font-size:12px;font-weight:600;color:#8a93a2;white-space:nowrap;text-align:right}.cat-suggest-item.create{font-weight:600}.post-cats{display:flex;flex-wrap:wrap;column-gap:2px;row-gap:2px;margin:10px 0 2px}.post-cat{display:inline-flex;align-items:center;padding:4px 6px;border-radius:999px;background:var(--card,#f3f4f6);border:0;box-shadow:none;font-size:12px;text-decoration:none;color:inherit;margin:0}.category-list{display:flex;flex-direction:column;gap:10px}.category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line,rgba(0,0,0,.08));border-radius:18px;background:var(--bg-elevated,#fff)}.category-row-main{min-width:0;flex:1}.category-row-actions{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;align-items:flex-start;white-space:nowrap}.category-row-actions .btn,.category-row-actions form .btn{padding:10px 14px;min-width:96px}.category-row-actions form{margin:0}.category-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;color:var(--muted,#6b7280)}.category-form-grid{display:grid;grid-template-columns:1.3fr 1fr 100px auto;gap:8px}@media (max-width:700px){.category-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.category-row-actions{justify-content:flex-end;flex-wrap:nowrap}.category-row-actions .btn,.category-row-actions form .btn{min-width:88px;padding:10px 12px;font-size:14px}.category-form-grid{grid-template-columns:1fr}}


.drawer-item-catrow{display:flex;align-items:center;gap:10px;justify-content:space-between}
.drawer-cat-link{min-width:0;flex:1;display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.drawer-cat-follow{flex:0 0 auto;margin:0}
.drawer-follow-btn{display:inline-flex;align-items:center;justify-content:center;min-width:96px;min-height:36px;border:1px solid var(--line,rgba(0,0,0,.1));background:#fff;color:#111 !important;-webkit-text-fill-color:#111 !important;-webkit-appearance:none;appearance:none;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:12px !important;font-weight:700;line-height:1.2;cursor:pointer;white-space:nowrap;text-align:center;text-indent:0;letter-spacing:0;opacity:1}
.drawer-follow-btn .drawer-follow-btn__label{display:inline-block;color:#111 !important;-webkit-text-fill-color:#111 !important;visibility:visible;opacity:1;font:inherit;font-size:12px !important;font-weight:700;line-height:1.2}
.drawer-follow-btn.is-on{background:var(--card,#f3f4f6);color:#111 !important;-webkit-text-fill-color:#111 !important}
.drawer-follow-btn.is-on .drawer-follow-btn__label{color:#111 !important;-webkit-text-fill-color:#111 !important}
.post-cats{display:flex;flex-wrap:wrap;column-gap:2px;row-gap:2px;margin:12px 0 2px}


.notif-card{overflow:hidden;}
.notif-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.notif-copy{flex:1;min-width:0;}
.notif-view-link{display:inline-block;font-size:14px;font-weight:700;color:var(--accent,#2563eb);text-decoration:none;}
.notif-view-link:hover{text-decoration:underline;}

@media (max-width:700px){
  .composer-top{padding:12px 14px}
  .composer-main{padding:10px 14px 92px}
  .composer-postbtn{padding:10px 15px}
}

/* Meme generator: composer-style layout */
.meme-generator-wrap{width:100%;max-width:none;}
.meme-generator-main{width:100%;max-width:920px;margin:0 auto;padding:12px 16px 32px;box-sizing:border-box;}
.meme-generator-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:100%;}
.meme-generator-hero{padding:4px 0 2px;}
.meme-generator-title{margin:0 0 6px;line-height:1.02;}
.meme-generator-top{border-bottom:1px solid #eef2f7;gap:12px;}
.meme-generator-topactions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.meme-generator-toplink{appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;font-size:18px;font-weight:700;line-height:1.2;color:#6b7280;cursor:pointer;}
.meme-generator-toplink:hover,.meme-generator-toplink:focus-visible{color:#111827;outline:none;}

.meme-generator-stepmeta{display:flex;align-items:center;justify-content:flex-end;min-width:0;}
.meme-generator-stepcount{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#8a94a6;}
.meme-generator-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;}
.meme-generator-navright{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.meme-generator-navbtn{min-width:110px;}
.meme-generator-navbtn.btn-ghost{background:#fff;color:#111;border-color:var(--border);}
.meme-generator-panel[hidden],.meme-generator-previewpanel[hidden]{display:none !important;}

.meme-generator-panel{padding:18px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;margin:0;min-width:0;}
.meme-generator-textpanel,.meme-generator-previewpanel,.meme-generator-settings,.meme-generator-files{align-self:stretch;}

.meme-generator-accordion{display:block;width:100%;margin:0;padding:0;}
.meme-generator-accordion > summary{list-style:none;}
.meme-generator-accordion > summary::-webkit-details-marker{display:none;}
.meme-generator-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer;margin:0;padding:0;min-width:0;width:100%;}
.meme-generator-summarytext{display:flex;flex-direction:column;min-width:0;gap:3px;padding-right:10px;padding-left:0;flex:1 1 auto;}

.meme-generator-summarynote{font-size:13px;line-height:1.45;color:#7b8798;margin:0;}
.meme-generator-summaryicon{position:relative;flex:0 0 24px;width:24px;height:24px;border-radius:999px;background:#f3f7ff;border:1px solid #dbe7ff;margin-top:2px;}
.meme-generator-summaryicon::before,.meme-generator-summaryicon::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;background:#6ea8ff;border-radius:999px;transform:translate(-50%,-50%);}
.meme-generator-summaryicon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .18s ease;}
.meme-generator-accordion[open] .meme-generator-summaryicon::after{transform:translate(-50%,-50%) rotate(0deg);}

.meme-generator-sectionhead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.meme-generator-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a94a6;margin-bottom:4px;}
.meme-generator-sectiontitle{font-size:18px;line-height:1.2;font-weight:800;color:#111827;}
.meme-generator-grid,.meme-generator-innergrid{display:grid;grid-template-columns:1fr;gap:12px;width:100%;}
.meme-generator-innergrid{padding-top:14px;}
.meme-generator-textgroup{display:grid;grid-template-columns:1fr;gap:12px;width:100%;}
.meme-generator-field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.meme-generator-label{font-size:14px;font-weight:700;color:#111827;}
.meme-generator-input{border:1px solid #e8edf5;border-radius:18px;padding:14px 16px;font-size:16px;background:#fff;box-shadow:none;max-width:100%;width:100%;box-sizing:border-box;}
.meme-generator-input[type="file"]{padding:12px 14px;background:#fbfdff;}
.meme-generator-input::placeholder{color:#c7cbd3;}
.meme-generator-hint{margin-top:12px;font-size:14px;line-height:1.5;color:#6b7280;}
.meme-generator-controls{display:grid;grid-template-columns:1fr;gap:14px;padding-top:14px;width:100%;}
.meme-generator-control,.meme-generator-selectwrap,.meme-generator-check{display:flex;flex-direction:column;gap:10px;min-width:0;}
.meme-generator-control-label{font-size:14px;font-weight:700;color:#111827;}
.meme-generator-control input[type="range"],
.meme-generator-check input[type="checkbox"]{accent-color:#6ea8ff;}
.meme-generator-check{justify-content:flex-end;}
.meme-generator-check input[type="checkbox"]{width:22px;height:22px;}
.meme-generator-select{min-width:0;}
.meme-generator-previewpanel{padding:18px;}
.meme-generator-canvaswrap{border:1px solid #edf1f6;border-radius:20px;background:linear-gradient(180deg,#f8fbff,#f2f5fb);padding:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:240px;width:100%;box-sizing:border-box;margin:0 auto;}
.meme-generator-canvas{display:block;width:100%;max-width:100%;height:auto;max-height:70vh;margin:0 auto;border-radius:16px;background:#f6f9ff;}
.meme-generator-status{font-size:13px;font-weight:700;color:#6b7280;min-height:18px;text-align:right;}
body.meme-generator-page .meme-generator-panel .meme-generator-input{width:100%;}
@media (min-width: 760px){
  .meme-generator-grid{grid-template-columns:1fr 1fr;}
  .meme-generator-controls{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) auto minmax(180px,.9fr);align-items:end;}
  }
@media (max-width: 760px){
  .meme-generator-main{padding:12px 14px 28px;}
  .meme-generator-top{padding:12px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;}
  .meme-generator-topactions{justify-content:flex-end;}
  .meme-generator-panel{padding:16px;}
  .meme-generator-sectiontitle{font-size:17px;}
  .meme-generator-summary{gap:10px;}
}
@media (max-width: 640px){
  .meme-generator-main{padding:10px 12px 24px;}
  .meme-generator-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;}
  .meme-generator-topactions{display:flex;align-items:center;justify-content:flex-end;gap:18px;width:auto;flex-wrap:nowrap;white-space:nowrap;}
  .meme-generator-toplink{font-size:17px;}
  .meme-generator-panel{border-radius:22px;padding:16px;}
  .meme-generator-summaryicon{flex-basis:20px;width:20px;height:20px;}
  .meme-generator-summarynote{font-size:12px;line-height:1.4;}
  .meme-generator-kicker{font-size:11px;}
  .meme-generator-sectiontitle{font-size:16px;}
  .meme-generator-canvaswrap{padding:8px;min-height:220px;}
}

@media (max-width:680px){
  .meme-generator-main,.meme-generator-form,.meme-generator-panel,.meme-generator-summary,.meme-generator-summarytext,.meme-generator-canvaswrap{min-width:0;}
  .meme-generator-textpanel .meme-generator-kicker,.meme-generator-textpanel .meme-generator-sectiontitle,.meme-generator-textpanel .meme-generator-summarynote{margin-left:0;}
  .meme-generator-previewpanel{margin-left:0;margin-right:0;}
}


/* Notifications actions */
.notif-actions{display:flex;gap:10px;flex-wrap:wrap}
.notif-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.notif-delete-form{margin:0}
.notif-delete-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#9aa0a6;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.notif-delete-btn svg{width:16px;height:16px;fill:currentColor}
.notif-delete-btn:active{transform:scale(.98)}
@media (max-width: 640px){
  .notif-actions{gap:8px}
  .notif-actions .btn{padding:10px 14px}
  .notif-delete-btn{width:32px;height:32px}
}


/* === Mobile flat-page layout: match Home feed width on category/activity/list pages === */
@media (max-width: 980px){
  body:not(.is-admin):not(.is-post) .page{
    margin:0;
    padding:0;
  }

  body:not(.is-admin):not(.is-post) .page .page-head{
    padding:14px var(--edgePad) 10px;
    margin:0;
  }

  body:not(.is-admin):not(.is-post) .page > .card,
  body:not(.is-admin):not(.is-post) .digg-main > .card{
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    margin:0 !important;
  }

  body:not(.is-admin):not(.is-post) .page > .card,
  body:not(.is-admin):not(.is-post) .digg-main > .card,
  body:not(.is-admin):not(.is-post) .page > .card > *,
  body:not(.is-admin):not(.is-post) .digg-main > .card > *{
    max-width:100%;
    box-sizing:border-box;
  }

  /* keep headings/actions aligned with feed width */
  body:not(.is-admin):not(.is-post) .page > .card > .kicker,
  body:not(.is-admin):not(.is-post) .page > .card > .h1,
  body:not(.is-admin):not(.is-post) .page > .card > .h2row,
  body:not(.is-admin):not(.is-post) .page > .card > .muted,
  body:not(.is-admin):not(.is-post) .page > .card > p,
  body:not(.is-admin):not(.is-post) .page > .card > .pill-row,
  body:not(.is-admin):not(.is-post) .page > .card > .notif-actions,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .kicker,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .h1,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .h2row,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .muted,
  body:not(.is-admin):not(.is-post) .digg-main > .card > p,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .pill-row,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .notif-actions{
    padding-left:var(--edgePad) !important;
    padding-right:var(--edgePad) !important;
  }

  body:not(.is-admin):not(.is-post) .page > .card > .kicker,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .kicker{
    padding-top:14px;
  }

  body:not(.is-admin):not(.is-post) .page > .card > .h1,
  body:not(.is-admin):not(.is-post) .digg-main > .card > .h1{
    margin-left:var(--edgePad);
    margin-right:var(--edgePad);
  }

  /* notification list / stacked cards become feed-like rows */
  body:not(.is-admin):not(.is-post) .notif-card,
  body:not(.is-admin):not(.is-post) .page > .card.empty,
  body:not(.is-admin):not(.is-post) .digg-main > .card.empty{
    padding:14px var(--edgePad) !important;
    border-bottom:1px solid var(--border) !important;
  }

  body:not(.is-admin):not(.is-post) .notif-card + .notif-card,
  body:not(.is-admin):not(.is-post) .page > .card + .card,
  body:not(.is-admin):not(.is-post) .digg-main > .card + .card{
    margin-top:0 !important;
  }

  body:not(.is-admin):not(.is-post) .page > .card .feed-list,
  body:not(.is-admin):not(.is-post) .page > .card .channel-list,
  body:not(.is-admin):not(.is-post) .page > .card .media-strip,
  body:not(.is-admin):not(.is-post) .digg-main > .card .feed-list,
  body:not(.is-admin):not(.is-post) .digg-main > .card .channel-list,
  body:not(.is-admin):not(.is-post) .digg-main > .card .media-strip{
    margin:0;
    width:100%;
  }

  body:not(.is-admin):not(.is-post) .page > .card .feeditem,
  body:not(.is-admin):not(.is-post) .digg-main > .card .feeditem{
    padding-left:var(--edgePad) !important;
    padding-right:var(--edgePad) !important;
  }

  body:not(.is-admin):not(.is-post) .page > .card .channel-row,
  body:not(.is-admin):not(.is-post) .digg-main > .card .channel-row,
  body:not(.is-admin):not(.is-post) .page > .card .channel-card,
  body:not(.is-admin):not(.is-post) .digg-main > .card .channel-card{
    margin-left:var(--edgePad) !important;
    margin-right:var(--edgePad) !important;
  }
}


@media (max-width: 980px){
  body.is-search-page #searchResults > .card{
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.is-search-page #searchResults > .card + .card{
    margin-top:0 !important;
  }

  body.is-search-page #searchResults > .card > .kicker,
  body.is-search-page #searchResults > .card > .small,
  body.is-search-page #searchResults > .card > p{
    padding-left:var(--edgePad) !important;
    padding-right:var(--edgePad) !important;
  }

  body.is-search-page #searchResults > .card > .kicker{
    padding-top:14px !important;
  }

  body.is-search-page #srChannels,
  body.is-search-page #srCategories,
  body.is-search-page #srUsers,
  body.is-search-page #srPosts{
    width:100%;
    margin:0;
  }

  body.is-search-page #srChannels > .item,
  body.is-search-page #srCategories > .item,
  body.is-search-page #srUsers > .item{
    margin:0 !important;
    padding:12px var(--edgePad) !important;
    border-bottom:1px solid var(--border);
    gap:12px;
  }

  body.is-search-page #srChannels > .item:last-child,
  body.is-search-page #srCategories > .item:last-child,
  body.is-search-page #srUsers > .item:last-child{
    border-bottom:0;
  }

  body.is-search-page #srPosts .feeditem,
  body.is-search-page #srPosts .post,
  body.is-search-page #srPosts .post-card,
  body.is-search-page #srPosts article{
    padding-left:var(--edgePad) !important;
    padding-right:var(--edgePad) !important;
  }
}

/* ============================================================
   ADMIN PANEL — Redesign: Sidebar + Categorized Navigation
   ============================================================ */

/* Reset old admin tab styles when new shell is active */
.admin-shell ~ * .tabs,
.admin-shell .tabs { display: none !important; }

/* Shell layout */
.admin-shell {
  display: flex;
  min-height: 100vh;
  background: linear-gradient(180deg, #f6f7f9 0%, #f1f3f6 100%);
}

/* ---- Mobile topbar ---- */
.admin-mobile-bar {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 54px;
  background: #111;
  color: #fff;
  align-items: center;
  padding: 0 14px;
  z-index: 1100;
  gap: 12px;
}
.admin-hamburger {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex-shrink: 0;
}
.admin-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .2s, opacity .2s;
}
.admin-mobile-title {
  flex: 1;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: -.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-mobile-home {
  color: rgba(255,255,255,.7);
  display: flex;
  align-items: center;
  padding: 4px;
  flex-shrink: 0;
}
.admin-mobile-home:hover { color: #fff; }

/* ---- Overlay (mobile) ---- */
.admin-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 1050;
  opacity: 0;
  transition: opacity .25s;
}
.admin-overlay.show {
  display: block;
  opacity: 1;
}

/* ---- Sidebar ---- */
.admin-sidebar {
  width: 258px;
  flex-shrink: 0;
  background: #111;
  color: #fff;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  z-index: 200;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.1) transparent;
}
.admin-sidebar::-webkit-scrollbar { width: 4px; }
.admin-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.12); border-radius: 4px; }

.admin-sidebar__header {
  padding: 20px 18px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.admin-sidebar__logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: -.02em;
}
.admin-sidebar__sub {
  font-size: 11px;
  color: rgba(255,255,255,.4);
  margin-top: 3px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ---- Navigation ---- */
.admin-nav {
  flex: 1;
  padding: 10px 0;
}
.admin-nav__group {
  margin-bottom: 6px;
}
.admin-nav__group-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.3);
  padding: 10px 18px 4px;
}
.admin-nav__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  color: rgba(255,255,255,.7);
  font-weight: 600;
  font-size: 13.5px;
  text-decoration: none;
  border-radius: 0;
  transition: background .12s, color .12s;
  position: relative;
}
.admin-nav__item:hover {
  background: rgba(255,255,255,.07);
  color: #fff;
}
.admin-nav__item.active {
  background: rgba(255,255,255,.12);
  color: #fff;
}
.admin-nav__item.active::before {
  content: '';
  position: absolute;
  left: 0; top: 4px; bottom: 4px;
  width: 3px;
  background: #fff;
  border-radius: 0 3px 3px 0;
}
.admin-nav__icon {
  display: flex;
  align-items: center;
  opacity: .7;
  flex-shrink: 0;
}
.admin-nav__item.active .admin-nav__icon,
.admin-nav__item:hover .admin-nav__icon { opacity: 1; }
.admin-nav__label { flex: 1; }
.admin-nav__badge {
  background: #e53e3e;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  border-radius: 999px;
  padding: 1px 6px;
  min-width: 18px;
  text-align: center;
}

/* ---- Sidebar footer ---- */
.admin-sidebar__footer {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 12px 0;
}
.admin-sidebar__footer-link {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 18px;
  font-size: 12.5px;
  color: rgba(255,255,255,.5);
  font-weight: 600;
  text-decoration: none;
  transition: color .12s;
}
.admin-sidebar__footer-link:hover { color: rgba(255,255,255,.9); }

/* ---- Main content area ---- */
.admin-main {
  flex: 1;
  min-width: 0;
  padding: 28px 28px 60px;
  overflow-x: hidden;
}

/* ---- Page header ---- */
.admin-page-header {
  margin-bottom: 22px;
}
.admin-page-header--enhanced {
  display: grid;
  gap: 14px;
}
.admin-page-header__main {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 20px;
  padding: 20px 22px;
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
  backdrop-filter: blur(8px);
}
.admin-page-header__eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.admin-page-header__group {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  color: #4b5563;
  background: rgba(15,23,42,.06);
}
.admin-page-header__title-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-end;
}
.admin-page-header__desc {
  margin-top: 8px;
  max-width: 760px;
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
}
.admin-page-header__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.admin-soft-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.9);
  color: #111827;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.admin-soft-link:hover {
  background: #fff;
  border-color: rgba(15,23,42,.18);
}
.admin-summary-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.admin-summary-tile {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 8px 24px rgba(15,23,42,.04);
}
.admin-summary-tile__label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 8px;
}
.admin-summary-tile strong {
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.03em;
  color: #111827;
}
.admin-summary-tile.is-alert {
  border-color: rgba(185,28,28,.16);
  background: linear-gradient(180deg, rgba(254,242,242,.96), rgba(255,255,255,.95));
}
.admin-context-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.admin-context-nav__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 12px;
  text-decoration: none;
  color: #334155;
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(15,23,42,.08);
  font-size: 13px;
  font-weight: 700;
}
.admin-context-nav__item:hover {
  background: #fff;
  color: #111827;
  border-color: rgba(15,23,42,.16);
}
.admin-context-nav__item.active {
  background: #111827;
  color: #fff;
  border-color: #111827;
}
.admin-context-nav__icon {
  display: inline-flex;
  align-items: center;
}
.admin-page-header__kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted, #888);
}
.admin-page-header__title {
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -.03em;
  color: #111;
  margin-top: 2px;
}

/* ---- Content cards inside admin ---- */
.admin-content .card {
  border-radius: 18px !important;
  padding: 20px !important;
  margin-bottom: 18px;
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
  border: 1px solid rgba(15,23,42,.08) !important;
  background: rgba(255,255,255,.88) !important;
}
.admin-content .card + .card { margin-top: 0; }

/* ---- Stat grid improvements ---- */
.admin-content .stats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.admin-content .stat {
  background: #f9f9fb;
  border: 1px solid #e8e8ed;
  border-radius: 12px;
  padding: 14px 12px;
  flex: unset;
}
.admin-content .stat .n {
  font-weight: 950;
  font-size: 22px;
  letter-spacing: -.02em;
}
.admin-content .stat .l {
  font-size: 11px;
  color: var(--muted,#888);
  font-weight: 700;
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* ---- Tables inside admin ---- */
.admin-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13.5px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid #e8e8ed;
  background: #fff;
}
.admin-content table th {
  text-align: left;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted,#888);
  padding: 10px 12px;
  border-bottom: 1px solid #e8e8ed;
  background: #f8fafc;
}
.admin-content table td {
  padding: 12px 12px;
  border-bottom: 1px solid #f0f0f4;
  vertical-align: middle;
}
.admin-content table tr:last-child td { border-bottom: none; }
.admin-content table tr:hover td { background: #f8fafc; }

/* ---- Form elements inside admin ---- */
.admin-content .input,
.admin-content input[type="text"],
.admin-content input[type="email"],
.admin-content input[type="password"],
.admin-content input[type="number"],
.admin-content select,
.admin-content textarea {
  border-radius: 12px !important;
  border: 1px solid #d8dee8 !important;
  padding: 10px 13px !important;
  font-size: 14px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color .15s, box-shadow .15s, background .15s;
  background: #fff !important;
}
.admin-content .input:focus,
.admin-content input:focus,
.admin-content select:focus,
.admin-content textarea:focus {
  border-color: #111 !important;
  box-shadow: 0 0 0 4px rgba(17,24,39,.08);
  outline: none;
}
.admin-content label.small,
.admin-content .admin-label {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #555;
  display: block;
  margin-bottom: 5px;
  margin-top: 14px;
}

/* ---- Buttons inside admin ---- */
.admin-content .btn {
  border-radius: 12px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 10px 16px !important;
  box-shadow: none !important;
}

/* ---- Quick actions grid on dashboard ---- */
.admin-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px,1fr));
  gap: 10px;
  margin-top: 14px;
}
.admin-quick-grid a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 10px;
  border: 1.5px solid #e8e8ed;
  border-radius: 12px;
  background: #fff;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 700;
  color: #222;
  transition: border-color .15s, background .15s, transform .1s;
}
.admin-quick-grid a:hover {
  border-color: #111;
  background: #f9f9fb;
  transform: translateY(-1px);
}
.admin-quick-grid a svg { opacity: .6; }

.admin-content .kicker,
.admin-content .h2,
.admin-content .h3 {
  letter-spacing: -.02em;
}
.admin-content .kicker {
  font-size: 18px;
  font-weight: 900;
  color: #0f172a;
}
.admin-content .muted,
.admin-content .small {
  color: #667085;
}
.admin-section-grid {
  display: grid;
  grid-template-columns: 1.35fr .95fr;
  gap: 18px;
}
.admin-panel-stack {
  display: grid;
  gap: 18px;
}
.admin-note-card {
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed rgba(15,23,42,.16);
  background: rgba(255,255,255,.72);
}

/* ---- Mobile responsive ---- */
@media (max-width: 899px) {
  .admin-mobile-bar { display: flex; }

  .admin-sidebar {
    position: fixed;
    top: 0; left: 0;
    height: 100%;
    width: 260px;
    transform: translateX(-100%);
    transition: transform .25s cubic-bezier(.4,0,.2,1);
    z-index: 1060;
  }
  .admin-sidebar.open {
    transform: translateX(0);
  }

  .admin-main {
    padding: 74px 14px 80px;
  }

  .admin-page-header__title-row {
    flex-direction: column;
    align-items: stretch;
  }

  .admin-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-context-nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }

  .admin-content .stats {
    grid-template-columns: repeat(3, 1fr);
  }

  .admin-quick-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Prevent the global bottom nav from pushing content on admin */
  .is-admin .bottom-nav,
  .is-admin .fab-compose { display: none !important; }
}

@media (max-width: 760px) {
  .admin-section-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 400px) {
  .admin-content .stats,
  .admin-quick-grid,
  .admin-summary-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Dark mode admin */
:root[data-theme="dark"] .admin-shell {
  background: #0d0d0f;
}
:root[data-theme="dark"] .admin-page-header__title {
  color: #f0f0f0;
}
:root[data-theme="dark"] .admin-page-header__main,
:root[data-theme="dark"] .admin-summary-tile,
:root[data-theme="dark"] .admin-context-nav__item,
:root[data-theme="dark"] .admin-note-card {
  background: rgba(24,24,27,.9);
  border-color: #2a2a2e;
}
:root[data-theme="dark"] .admin-page-header__desc,
:root[data-theme="dark"] .admin-summary-tile__label,
:root[data-theme="dark"] .admin-content .muted,
:root[data-theme="dark"] .admin-content .small {
  color: #98a2b3;
}
:root[data-theme="dark"] .admin-context-nav__item {
  color: #d1d5db;
}
:root[data-theme="dark"] .admin-context-nav__item.active {
  background: #f3f4f6;
  color: #111827;
  border-color: #f3f4f6;
}
:root[data-theme="dark"] .admin-content .card {
  background: #18181b !important;
  border-color: #2a2a2e !important;
}
:root[data-theme="dark"] .admin-content .stat {
  background: #1e1e22;
  border-color: #2a2a2e;
}
:root[data-theme="dark"] .admin-content table,
:root[data-theme="dark"] .admin-content table td,
:root[data-theme="dark"] .admin-content table th {
  border-color: #2a2a2e;
}
:root[data-theme="dark"] .admin-content table { background: #18181b; }
:root[data-theme="dark"] .admin-content table th { background: #151518; }
:root[data-theme="dark"] .admin-content .input,
:root[data-theme="dark"] .admin-content input,
:root[data-theme="dark"] .admin-content select,
:root[data-theme="dark"] .admin-content textarea {
  background: #1e1e22 !important;
  border-color: #333 !important;
  color: #f0f0f0 !important;
}
:root[data-theme="dark"] .admin-quick-grid a {
  background: #18181b;
  border-color: #2a2a2e;
  color: #e0e0e0;
}

/* Admin full-width layout (no container padding) */
main.admin-full {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}
/* Hide global topbar on admin */
.is-admin > .topbar,
.is-admin + .topbar {
  display: none;
}


/* Report dialog */
.report-sheet{width:min(560px,100%);}
.report-sheet .modal-body{padding-bottom:18px;}
.report-sheet .modal-input{appearance:auto;}
.report-sheet .modal-ta{min-height:132px;}

/* ============================================================
   Minimal feed list view (admin toggle)
   ============================================================ */
body.feed-view-minimal .feeditem.feeditem-minimal{
  padding-top:14px;
  padding-bottom:14px;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head{
  gap:8px;
  font-size:13px;
  color:#8f93a1;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head .av{
  width:32px;
  height:32px;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-user,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-comm{
  font-weight:800;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-body-minimal{
  display:grid;
  grid-template-columns:minmax(0,1fr) 126px;
  column-gap:16px;
  align-items:start;
  margin-top:10px;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-main-minimal{
  min-width:0;
  grid-column:1;
  min-height:104px;
  overflow:visible;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  height:auto;
  max-height:none;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-title{
  font-size:17px;
  line-height:1.24;
  margin:0;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  padding-bottom:2px;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal{
  margin-top:4px;
  font-size:14px;
  line-height:1.26;
  color:#5d6470;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-moretext,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-text-tail,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-ellipsis{
  display:none !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb{
  grid-column:2;
  grid-row:1 / span 2;
  width:126px;
  aspect-ratio:1.22 / 1;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  display:block;
  background:#eef1f5;
  text-decoration:none;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb img,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#eef1f5;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb-badge{
  position:absolute;
  right:10px;
  bottom:10px;
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(17,17,17,.82);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb-badge svg{
  width:16px;
  height:16px;
  fill:currentColor;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb-site{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  z-index:2;
  display:block;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  line-height:1.1;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg, rgba(17,17,17,.56), rgba(17,17,17,.82));
  backdrop-filter:blur(2px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb-play{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(17,17,17,.82);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-link{
  display:none;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-minimal{
  margin-top:4px;
  overflow:hidden;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-minimal-title{
  font-size:calc(var(--fs-post-title,20px) * .74);
  line-height:1.2;
  font-weight:700;
  color:#20242c;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-site{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  color:#5f6672;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-site::before{
  content:"";
  width:18px;
  height:18px;
  border-radius:6px;
  background:#f59e0b;
  flex:0 0 auto;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-minimal-desc{
  margin-top:4px;
  font-size:calc(var(--fs-post-text,16px) * .84);
  line-height:1.26;
  color:#5d6470;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-actions{
  margin-top:2px;
  gap:18px;
  color:#b0b4bf;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-votes{
  gap:8px;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn{
  padding:4px;
  color:#b0b4bf;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn svg{
  width:21px;
  height:21px;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-count,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-num{
  color:#6a707c;
  font-size:14px;
  font-weight:800;
}
body.feed-view-minimal .feeditem.feeditem-minimal .post-cats,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-media,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-media-grid{
  display:none !important;
}
@media (max-width:640px){
  body.feed-view-minimal .feeditem.feeditem-minimal .fi-body-minimal{
    grid-template-columns:minmax(0,1fr) 112px;
    column-gap:14px;
  }
  body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb{
    width:112px;
    border-radius:22px;
  }
  body.feed-view-minimal .feeditem.feeditem-minimal .fi-main-minimal{
    min-height:92px;
    height:auto;
    max-height:none;
  }
  body.feed-view-minimal .feeditem.feeditem-minimal .fi-title{
    font-size:var(--fs-post-title,20px);
  }
}
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-site{
  color:#cbd5e1;
}
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-site::before{
  background:#475569;
}
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal,
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-minimal-desc,
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-count,
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-num{
  color:#cbd5e1;
}
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-link-minimal-title{
  color:#f1f5f9;
}

body.feed-view-minimal .feeditem.feeditem-minimal .fi-body-minimal > .fi-minithumb{
  align-self:start;
  justify-self:end;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-main-minimal > .fi-title:first-child{
  margin-top:0;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-main-minimal > .fi-text-minimal:last-child,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-main-minimal > .fi-link-minimal:last-child{
  margin-bottom:0;
}

body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb-badge{display:none !important;}

/* ============================================================
   Normal feed: compact URL posts like minimal feed cards
   ============================================================ */
.feeditem.feeditem-urlcompact{
  padding-top:14px;
  padding-bottom:14px;
}
.feeditem.feeditem-urlcompact .fi-body-urlcompact{
  display:block;
  margin-top:0;
}
.feeditem.feeditem-urlcompact .fi-main-urlcompact{
  min-width:0;
  min-height:0;
  overflow:visible;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  height:auto;
  max-height:none;
}

.feeditem.feeditem-urlmediacompact .fi-linkcompact-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 126px;
  column-gap:16px;
  align-items:start;
  margin-top:12px;
}
.feeditem.feeditem-urlmediacompact .fi-linkcompact-copy{
  min-width:0;
}
.feeditem.feeditem-urlmediacompact .fi-linkcompact-copy .fi-link-minimal{
  margin-top:0;
}
.feeditem.feeditem-urlmediacompact .fi-link-minimal{
  margin-top:4px;
  overflow:hidden;
}
.feeditem.feeditem-urlmediacompact .fi-link-minimal-title{
  font-size:calc(var(--fs-post-title,20px) * .74);
  line-height:1.2;
  font-weight:700;
  color:#20242c;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
}
.feeditem.feeditem-urlmediacompact .fi-link-minimal-desc{
  margin-top:4px;
  font-size:calc(var(--fs-post-text,16px) * .84);
  line-height:1.26;
  color:#5d6470;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.feeditem.feeditem-urlmediacompact .fi-minithumb{
  width:126px;
  aspect-ratio:1.22 / 1;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  display:block;
  background:#eef1f5;
  text-decoration:none;
}
.feeditem.feeditem-urlmediacompact .fi-minithumb img,
.feeditem.feeditem-urlmediacompact .fi-minithumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#eef1f5;
}
.feeditem.feeditem-urlmediacompact .fi-minithumb-site{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  z-index:2;
  display:block;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  line-height:1.1;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg, rgba(17,17,17,.56), rgba(17,17,17,.82));
  backdrop-filter:blur(2px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
.feeditem.feeditem-urlmediacompact .fi-minithumb-play{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(17,17,17,.82);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.feeditem.feeditem-urlmediacompact .fi-link,
.feeditem.feeditem-urlmediacompact .fi-linkcompact-row > .fi-minithumb{
  align-self:start;
  justify-self:end;
}
.feeditem.feeditem-urlmediacompact .fi-linkcompact-copy > .fi-link-minimal:last-child,
.feeditem.feeditem-urlmediacompact .fi-linkcompact-copy .fi-link-minimal:last-child{
  margin-bottom:0;
}
@media (max-width:640px){
  .feeditem.feeditem-urlmediacompact .fi-linkcompact-row{
    grid-template-columns:minmax(0,1fr) 112px;
    column-gap:14px;
  }
  .feeditem.feeditem-urlmediacompact .fi-minithumb{
    width:112px;
    border-radius:22px;
  }
}
:root[data-theme="dark"] .feeditem.feeditem-urlmediacompact .fi-link-minimal-title{
  color:#f3f6fb;
}
:root[data-theme="dark"] .feeditem.feeditem-urlmediacompact .fi-link-minimal-desc{
  color:#b2bac6;
}

.feeditem.feeditem-urlcompact .fi-linkcompact-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 126px;
  column-gap:16px;
  align-items:start;
  margin-top:10px;
}
.feeditem.feeditem-urlcompact .fi-linkcompact-copy{
  min-width:0;
}
.feeditem.feeditem-urlcompact .fi-linkcompact-copy .fi-link-minimal{
  margin-top:0;
}
.feeditem.feeditem-urlcompact .fi-title{
  font-size:var(--fs-post-title,20px);
  line-height:1.24;
  margin:0;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  padding-bottom:2px;
}
.feeditem.feeditem-urlcompact .fi-link-minimal{
  margin-top:4px;
  overflow:hidden;
}
.feeditem.feeditem-urlcompact .fi-link-minimal-title{
  font-size:calc(var(--fs-post-title,20px) * .74);
  line-height:1.2;
  font-weight:700;
  color:#20242c;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
}
.feeditem.feeditem-urlcompact .fi-link-minimal-desc{
  margin-top:4px;
  font-size:calc(var(--fs-post-text,16px) * .84);
  line-height:1.26;
  color:#5d6470;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.feeditem.feeditem-urlcompact .fi-minithumb{
  width:126px;
  aspect-ratio:1.22 / 1;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  display:block;
  background:#eef1f5;
  text-decoration:none;
}
.feeditem.feeditem-urlcompact .fi-minithumb img,
.feeditem.feeditem-urlcompact .fi-minithumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#eef1f5;
}
.feeditem.feeditem-urlcompact .fi-minithumb-site{
  position:absolute;
  left:8px;
  right:8px;
  bottom:8px;
  z-index:2;
  display:block;
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  line-height:1.1;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg, rgba(17,17,17,.56), rgba(17,17,17,.82));
  backdrop-filter:blur(2px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:0 4px 14px rgba(0,0,0,.16);
}
.feeditem.feeditem-urlcompact .fi-minithumb-play{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:2;
  width:34px;
  height:34px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(17,17,17,.82);
  color:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
.feeditem.feeditem-urlcompact .fi-link,
.feeditem.feeditem-urlcompact .fi-media,
.feeditem.feeditem-urlcompact .fi-media-grid{
  display:none !important;
}
.feeditem.feeditem-urlcompact .post-cats{
  display:flex;
  flex-wrap:wrap;
  column-gap:2px;
  row-gap:2px;
  margin:12px 0 2px;
  width:100%;
  align-self:start;
}
.feeditem.feeditem-urlcompact .fi-linkcompact-row > .fi-minithumb{
  align-self:start;
  justify-self:end;
}
.feeditem.feeditem-urlcompact .fi-main-urlcompact > .fi-title:first-child{
  margin-top:0;
}
.feeditem.feeditem-urlcompact .fi-linkcompact-copy > .fi-link-minimal:last-child,
.feeditem.feeditem-urlcompact .fi-linkcompact-copy .fi-link-minimal:last-child{
  margin-bottom:0;
}
@media (max-width:640px){
  .feeditem.feeditem-urlcompact .fi-linkcompact-row{
    grid-template-columns:minmax(0,1fr) 112px;
    column-gap:14px;
  }
  .feeditem.feeditem-urlcompact .fi-minithumb{
    width:112px;
    border-radius:22px;
  }
  .feeditem.feeditem-urlcompact .fi-main-urlcompact{
    min-height:92px;
    height:auto;
    max-height:none;
  }
  .feeditem.feeditem-urlcompact .fi-title{
    font-size:var(--fs-post-title,20px);
  }
}
:root[data-theme="dark"] .feeditem.feeditem-urlcompact .fi-link-minimal-title{
  color:#f1f5f9;
}
:root[data-theme="dark"] .feeditem.feeditem-urlcompact .fi-link-minimal-desc,
:root[data-theme="dark"] .feeditem.feeditem-urlcompact .fi-count,
:root[data-theme="dark"] .feeditem.feeditem-urlcompact .fi-num{
  color:#cbd5e1;
}

.is-post .feeditem.feeditem-urlcompact .fi-title{
  display:block;
  -webkit-line-clamp:unset;
  overflow:visible;
}


/* iOS/mobile fix: allow full scrolling inside edit modal */
body.modal-open{
  overflow:hidden;
  touch-action:none;
}
.body-scroll-lock,
body.modal-open .site-shell{
  overscroll-behavior:contain;
}
.modal-overlay{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.modal-sheet{
  display:flex;
  flex-direction:column;
}
.modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
@media (max-width: 767px){
  .modal-overlay{
    align-items:stretch;
    padding:0;
    padding-top:max(10px, env(safe-area-inset-top));
    padding-bottom:0;
  }
  .modal-sheet{
    width:100vw;
    max-width:100vw;
    max-height:100dvh;
    min-height:0;
    border-radius:18px 18px 0 0;
    margin-top:auto;
  }
  .modal-head{
    position:sticky;
    top:0;
    z-index:2;
    background:#fff;
  }
  .modal-body{
    max-height:none;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
}

/* Discover + profile gallery */
.discover-switch{
  display:flex;
  gap:10px;
  padding:8px 0 14px;
}
.discover-switch__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none;
  color:inherit;
  background:#f3f4f6;
  border:1px solid rgba(0,0,0,.08);
  font-weight:800;
}
.discover-switch__btn.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}
@media (min-width:980px){
  .gallery-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}
#post-list.gallery-grid .infinite-sentinel,
#post-list.gallery-grid .load-more,
.profile-feed.gallery-grid .feed-empty,
.profile-feed.gallery-grid .ucom,
.profile-feed.gallery-grid .card,
.profile-feed.gallery-grid .activity-item,
.profile-feed.gallery-grid .category-list,
.profile-feed.gallery-grid .channel-grid{
  grid-column:1 / -1;
}
.gallery-tile{
  position:relative;
  display:block;
  aspect-ratio:1 / 1;
  border-radius:0;
  overflow:hidden;
  background:#eef1f4;
  text-decoration:none;
  color:inherit;
}
.gallery-media,
.gallery-media img,
.gallery-media video{
  width:100%;
  height:100%;
}
.gallery-media img,
.gallery-media video{
  object-fit:cover;
  display:block;
}
.gallery-media-placeholder{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:12px;
  background:linear-gradient(180deg,#f6f7f9 0%,#e7ebf0 100%);
}
.gallery-media-text{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:12px;
  background:linear-gradient(180deg,#ffffff 0%,#f1f3f7 100%);
}
.gallery-media-text .gallery-placeholder-inner{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:100%;
}
.gallery-media-text .gallery-placeholder-domain{
  color:#5b6270;
}
.gallery-media-text .gallery-placeholder-title{
  font-size:15px;
  line-height:1.35;
}
.gallery-media-text .gallery-text-title{
  font-size:15px;
  font-weight:800;
  line-height:1.28;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:6px;
}
.gallery-media-text .gallery-placeholder-body{
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  color:#434a57;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.gallery-placeholder-inner{
  width:100%;
}
.gallery-placeholder-domain{
  font-size:12px;
  font-weight:800;
  opacity:.72;
  margin-bottom:6px;
}
.gallery-placeholder-title{
  font-size:14px;
  font-weight:800;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.gallery-badges{
  position:absolute;
  top:8px;
  left:8px;
  right:8px;
  display:flex;
  justify-content:space-between;
  pointer-events:none;
}
.gallery-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(0,0,0,.62);
  color:#fff;
  font-size:11px;
  font-weight:800;
  backdrop-filter:blur(6px);
}
.gallery-badge-count{ margin-left:auto; }
.p2-tabs-wrap.is-gallery-tab .profile-feed.gallery-grid{
  margin-top:10px;
}


/* Desktop category list in left sidebar */
.digg-desktop-cats-card{padding:16px}
.digg-desktop-cats-list{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.digg-desktop-cat-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line,rgba(0,0,0,.08))}
.digg-desktop-cat-row:first-child{border-top:0;padding-top:0}
.digg-desktop-cat-row:last-child{padding-bottom:0}
.digg-desktop-cat-main{min-width:0;flex:1 1 auto}
.digg-desktop-cat-name{display:block;font-weight:800;color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.digg-desktop-cat-name:hover{text-decoration:underline}
.digg-desktop-cat-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;font-size:12px;color:var(--muted,#6b7280)}
.digg-desktop-cat-action{flex:0 0 auto;margin:0}
.digg-desktop-cat-btn{min-width:104px;justify-content:center;border-radius:999px;padding:10px 14px;font-size:13px}
@media (max-width:1199px){
  .digg-desktop-cats-list{gap:10px}
  .digg-desktop-cat-row{padding:8px 0}
  .digg-desktop-cat-btn{min-width:96px;padding:9px 12px}
}

/* Private messages */
.pm-list{display:grid;gap:12px}
.pm-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line,#e7e7ea);border-radius:16px;text-decoration:none;color:inherit;background:var(--card,#fff);position:relative}
.pm-row__avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:0 0 52px;background:#eee}
.pm-row__body{min-width:0;flex:1}
.pm-row__top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.pm-row__name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-row__time{font-size:12px;color:var(--muted,#7a7a85);white-space:nowrap}
.pm-row__meta,.pm-row__preview{font-size:13px;color:var(--muted,#7a7a85)}
.pm-row__preview{margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pm-row__badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#111;color:#fff;font-size:12px;font-weight:800}
.pm-thread{display:grid;gap:10px;max-height:60vh;overflow:auto;padding-right:2px}
.pm-bubble-wrap{display:flex;justify-content:flex-start}
.pm-bubble-wrap.is-me{justify-content:flex-end}
.pm-bubble-shell{display:grid;gap:6px;max-width:min(82%,520px)}
.pm-bubble-shell.is-me{justify-items:end}
.pm-bubble-head{display:flex;align-items:center;gap:8px;padding:0 4px}
.pm-bubble-head.is-me{flex-direction:row-reverse;text-align:right}
.pm-bubble-head__avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:0 0 28px;background:#eee;border:1px solid var(--line,#e7e7ea)}
.pm-bubble-head__text{min-width:0}
.pm-bubble-head__name{font-size:13px;font-weight:700;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-bubble-head__username{font-size:12px;color:var(--muted,#7a7a85);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-bubble{max-width:min(82%,520px);padding:12px 14px;border-radius:18px;background:var(--bg-soft,#f4f4f7);border:1px solid var(--line,#e7e7ea)}
.pm-bubble.is-me{background:var(--card,#fff);border-color:var(--line,#d9d9df)}
.pm-bubble__text{white-space:pre-wrap;word-break:break-word}
.pm-bubble__media{margin-top:10px}
.pm-bubble__media img,.pm-bubble__media video{display:block;width:100%;max-width:320px;max-height:360px;border-radius:14px;border:1px solid var(--line,#e7e7ea);background:#000;object-fit:contain}
.pm-bubble__media img{background:#fff}
.pm-bubble__meta{margin-top:6px;font-size:12px;color:var(--muted,#7a7a85)}


.fi-media, .fi-media-cell, .fi-minithumb{position:relative;}
.video-audio-toggle{position:absolute;right:12px;bottom:12px;z-index:4;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.24);background:rgba(17,24,39,.68);color:#fff;border-radius:999px;width:38px;height:38px;padding:0;font-size:0;font-weight:800;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.18);}
.video-audio-toggle:hover{background:rgba(17,24,39,.82);}
.video-audio-toggle.is-on{background:rgba(37,99,235,.88);}
.video-audio-toggle svg{width:18px;height:18px;display:block;fill:currentColor;flex:0 0 auto;}
.video-audio-toggle span{display:none !important;}
.fi-media-grid .video-audio-toggle,.fi-minithumb .video-audio-toggle{right:8px;bottom:8px;width:34px;height:34px;padding:0;font-size:0;}
.fi-media-grid .video-audio-toggle svg,.fi-minithumb .video-audio-toggle svg{width:16px;height:16px;}

.user-badge-fallback{display:inline-flex;align-items:center;justify-content:center;background:#e8eefc;color:#335;font-size:.75em;line-height:1}
.user-badge-fallback{display:inline-flex;align-items:center;justify-content:center;background:#e8eefc;color:#335;font-size:.75em;line-height:1}

.user-verified-badge{display:inline-flex;align-items:center;justify-content:center;vertical-align:-2px;flex:0 0 auto}
.user-verified-badge svg{width:100%;height:100%;display:block}
.user-handle-link{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;white-space:nowrap;max-width:100%}
.user-handle-text{display:inline-block;min-width:0}
.user-handle-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}

.user-badge-summary{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;flex:0 0 auto;white-space:nowrap}
.user-badge-summary-count{display:inline-flex;align-items:center;justify-content:center;font-size:1.06em;font-weight:900;line-height:1;color:#6b7280;letter-spacing:-.025em;margin-left:1px;margin-right:0;transform:none}
.user-badge-summary-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.user-display-name-badges,.fi-name-badges,.ucom-name-badges,.sr-badges,.ms-user-badges{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;flex-wrap:nowrap;white-space:nowrap}
.user-display-name-badges{margin-left:2px;flex:0 0 auto}
.user-display-name-link{display:inline-flex;align-items:center;gap:0;min-width:0;vertical-align:middle;text-decoration:none}
.user-display-name-link .user-display-name-text{display:inline-block;min-width:0;vertical-align:middle}
.user-badge-icon{display:inline-block;vertical-align:middle;object-fit:cover;border-radius:999px;border:1px solid rgba(0,0,0,.08);flex:0 0 auto}
.fi-usercol > .user-handle-link,.ucom-meta > .user-handle-link{flex:0 0 auto}
.fi-usercol > .user-handle-link,.fi-usercol > .user-display-name-link{align-self:center}
.fi-usercol > .user-display-name-link{flex:0 1 auto;max-width:min(48vw,320px);overflow:hidden}
.fi-usercol > .user-display-name-link .user-display-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.fi-usercol .fi-name-badges{flex:0 0 auto}
.ucom-name-line{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.ucom-display-name{display:inline-flex;align-items:center}
.p2-display-name .user-display-name-link{font-size:inherit;font-weight:inherit;color:inherit;text-decoration:none}
.p2-display-name .user-display-name-badges{margin-left:4px}
.sr-realname .user-display-name-link{color:inherit;text-decoration:none}
.ms-name{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ms-display-name{font-weight:600}

.ms-handle{font-weight:800}
.ms-user-badges{display:inline-flex;align-items:center;gap:4px;flex-wrap:nowrap;white-space:nowrap}
.ms-user-badge-count{display:inline-block;font-weight:700;font-size:15px;line-height:1;color:inherit}
.ms-user-badge{width:18px;height:18px;object-fit:contain;flex:0 0 auto;border-radius:999px;border:1px solid rgba(0,0,0,.08)}
.ms-user-badge-fallback{display:inline-flex;align-items:center;justify-content:center;background:#e8eefc;color:#335;font-size:11px;line-height:1}


/* Global centered page title in top header */
.topbar-inner{position:relative;}
.topbar-center{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:flex;
  align-items:center;
  gap:8px;
  max-width:min(52vw, 420px);
  min-width:0;
  pointer-events:none;
}
.topbar-center-back,
.topbar-center-title{pointer-events:auto;}
.topbar-center-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:999px;
  color:#111;
  text-decoration:none;
  font-size:24px;
  line-height:1;
  flex:0 0 auto;
}
.topbar-center-title{
  font-size:17px;
  font-weight:800;
  color:#111;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Composer header anonymous toggle: replaces the close X on create-post screen */
.topbar-right--compose{min-width:0;}
.topbar-anonymous-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  min-height:38px;
  max-width:132px;
  padding:0;
  border:0;
  background:transparent;
  color:#111827;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.topbar-anonymous-toggle input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.topbar-anonymous-box{
  width:22px;
  height:22px;
  border-radius:7px;
  border:2px solid #cbd5e1;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.topbar-anonymous-box:after{
  content:"";
  width:9px;
  height:5px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
  opacity:0;
}
.topbar-anonymous-toggle input:checked + .topbar-anonymous-box{
  border-color:#16a34a;
  background:#16a34a;
  box-shadow:0 0 0 4px rgba(22,163,74,.12);
}
.topbar-anonymous-toggle input:checked + .topbar-anonymous-box:after{opacity:1;}
.topbar-anonymous-label{
  display:inline-block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#374151;
  font-size:13px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.01em;
}
.topbar-anonymous-toggle.is-disabled{opacity:.45;cursor:not-allowed;}
:root[data-theme="dark"] .topbar-anonymous-toggle{color:#e5e7eb;}
:root[data-theme="dark"] .topbar-anonymous-box{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.28);}
:root[data-theme="dark"] .topbar-anonymous-label{color:#e5e7eb;}
@media (max-width:420px){
  .topbar-anonymous-toggle{max-width:112px;gap:6px;}
  .topbar-anonymous-label{max-width:78px;font-size:12px;}
}
@media (max-width:360px){
  .topbar-anonymous-label{display:none;}
}
@media (max-width: 640px){
  .topbar-center{max-width:44vw;}
  .topbar-center-title{font-size:16px;}
}
:root[data-theme="dark"] .topbar-center-back,
:root[data-theme="dark"] .topbar-center-title{color:#e7e9ee;}


.digg-promo{
  display:block;
  position:relative;
  overflow:hidden;
  text-decoration:none;
  color:var(--promo-color,#fff);
  background:var(--promo-bg,#111);
  border:0;
  min-height:140px;
}
.digg-promo__media{ position:absolute; inset:0; z-index:0; }
.digg-promo__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.58)); }
.digg-promo__media img,
.digg-promo__media video{ width:100%; height:100%; object-fit:cover; display:block; }
.digg-promo__content{ position:relative; z-index:1; display:flex; flex-direction:column; gap:10px; min-height:140px; }
.digg-promo__title{ font-size:18px; font-weight:800; line-height:1.2; }
.digg-promo__body,
.digg-promo__html{ font-size:13px; line-height:1.45; color:inherit; }
.digg-promo__html a{ color:inherit; text-decoration:underline; }
.digg-promo__btn{ align-self:flex-start; display:inline-flex; align-items:center; min-height:34px; padding:0 12px; border-radius:999px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.24); color:inherit; font-size:12px; font-weight:700; }
.digg-promo:hover .digg-promo__btn{ background:rgba(255,255,255,.22); }


/* Grid tiles: hide type/count overlays on desktop and mobile */
.gallery-badges,
.gallery-badge,
.gallery-badge-count{display:none !important;}

@supports (height: 100dvh){
  .lb-panel{
    height:min(96dvh, calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
  .lb.is-video .lb-panel{
    height:min(98dvh, calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
    max-height:calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }
  @media (max-width: 820px){
    .lb-panel{
      height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
      max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    }
  }
  @media (max-width: 520px){
    .lb-panel,
    .lb.is-video .lb-panel{
      height:calc(100dvh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
      max-height:calc(100dvh - 8px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    }
  }
}


/* Global font preset metric overrides */
body,
.post-excerpt,
.fi-text,
.preview-desc,
.urlpv-desc,
.fi-link-desc,
.comment-body,
#comments .ucom .comment-body,
.p2-bio,
.ucom-body,
.digg-promo__html{
  letter-spacing: var(--font-text-track,0) !important;
}

body{ line-height: var(--font-body-line,1.4) !important; }
.post-excerpt,
.fi-text,
.preview-desc,
.urlpv-desc,
.fi-link-desc,
.p2-bio,
.ucom-body,
.digg-promo__html{
  line-height: var(--font-text-line,1.5) !important;
}
.comment-body,
#comments .ucom .comment-body{
  line-height: var(--font-comment-line,1.45) !important;
  letter-spacing: var(--font-comment-track,0) !important;
}
.post-title,
.fi-title{
  line-height: var(--font-title-line,1.18) !important;
  letter-spacing: var(--font-title-track,-.02em) !important;
  font-weight: var(--post-title-font-weight,var(--font-title-weight,800)) !important;
}
.preview-title,
.urlpv-title,
.fi-link-title,
.topbar-brand{
  line-height: var(--font-title-line,1.18) !important;
  letter-spacing: var(--font-title-track,-.02em) !important;
  font-weight: var(--font-title-weight,800) !important;
}

@media (max-width:520px){
  .fi-actions{gap:8px;}
  .fi-ibtn{padding:4px;}
  .fi-votes{gap:6px;}
}

/* Minimal bottom-border compose + meme generator styling */
body.compose-page .composer-audience-pill,
body.compose-inline .composer-audience-pill,
body.meme-generator-page .composer-audience-pill{
  border:0;
  border-bottom:1px solid #e7ebf1;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:10px 0 12px;
}

body.compose-page .composer-bodywrap,
body.compose-page .composer-categories,
body.compose-page .composer-media,
body.compose-page .composer-urlpreview,
body.compose-inline .composer-bodywrap,
body.compose-inline .composer-categories,
body.compose-inline .composer-media,
body.compose-inline .composer-urlpreview,
body.meme-generator-page .composer-bodywrap,
body.meme-generator-page .composer-categories,
body.meme-generator-page .composer-media,
body.meme-generator-page .composer-urlpreview{
  border:0;
  border-bottom:1px solid #e7ebf1;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.compose-page .composer-bodywrap,
body.compose-inline .composer-bodywrap,
body.meme-generator-page .composer-bodywrap{
  padding:0;
}

body.compose-page .composer-bodytext,
body.compose-inline .composer-bodytext,
body.meme-generator-page .composer-bodytext{
  padding:14px 0 12px;
}

body.compose-page .composer-category-input,
body.compose-page .composer-url-input,
body.compose-inline .composer-category-input,
body.compose-inline .composer-url-input,
body.meme-generator-page .composer-category-input,
body.meme-generator-page .composer-url-input,
body.meme-generator-page .meme-generator-input,
body.meme-generator-page .meme-generator-select{
  border:0;
  border-bottom:1px solid #dfe6ef;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding-left:0;
  padding-right:0;
}

body.meme-generator-page .meme-generator-panel{
  border:0;
  border-bottom:1px solid #e7ebf1;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:0 0 18px;
}

body.meme-generator-page .meme-generator-previewpanel{
  padding:0 0 18px;
}

body.meme-generator-page .meme-generator-canvaswrap{
  border:0;
  border-bottom:1px solid #e7ebf1;
  border-radius:0;
  background:transparent;
  padding:0 0 14px;
  min-height:0;
}

body.meme-generator-page .meme-generator-canvas{
  border-radius:12px;
  background:#f7f9fc;
}

body.meme-generator-page .meme-generator-input[type="file"]{
  background:transparent;
  padding-top:12px;
  padding-bottom:12px;
}

@media (max-width: 640px){
  body.meme-generator-page .meme-generator-panel,
  body.meme-generator-page .meme-generator-previewpanel{
    padding:0 0 16px;
  }
}


/* Admin-configurable visual title line clamp; full HTML title remains intact for SEO */
.post-title,
.fi-title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:var(--post-title-max-lines, 2);
  overflow:hidden;
  text-overflow:ellipsis;
  word-break:break-word;
}

/* On the single-post page, always show the full title. */
body.is-post .post-title,
body.is-post .fi-title{
  display:block;
  -webkit-line-clamp:unset;
  overflow:visible;
  text-overflow:clip;
}

/* Channel cover cleanup */
.channel-back,
.channel-actions{display:none !important;}
.channel-hero{border-radius:0 !important;}


/* Profile edit header cleanup */
.profile-edit-card{overflow:hidden}
.profile-edit-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:4px 0 14px}
.profile-edit-top .h1{margin:0 0 4px}
.profile-edit-top-note{max-width:560px;opacity:.82}
.profile-verification-link{
  flex:0 1 340px;
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:inherit;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(59,130,246,.08),rgba(59,130,246,.03));
}
.profile-verification-link strong{display:block;font-size:15px;line-height:1.2}
.profile-verification-link small{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.35}
.profile-verification-link-badge{
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#2196f3;
  color:#fff;
  font-weight:800;
  box-shadow:0 6px 18px rgba(33,150,243,.22);
}

.profile-edit-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
.profile-quick-tile{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(15,23,42,.02),rgba(15,23,42,.01));
  color:inherit;
  text-decoration:none;
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.profile-quick-tile-icon{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  background:rgba(15,23,42,.05);
  color:#111;
}
.profile-quick-tile-icon svg{width:20px;height:20px;fill:currentColor}
.profile-quick-tile-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.profile-quick-tile-copy strong{font-size:15px;line-height:1.2;font-weight:800}
.profile-quick-tile-copy small{font-size:12px;line-height:1.35;color:var(--muted)}
.profile-quick-tile-admin{
  background:linear-gradient(180deg,rgba(17,17,17,.04),rgba(17,17,17,.02));
}
.profile-quick-tile-admin .profile-quick-tile-icon{
  background:#111;
  color:#fff;
  font-size:20px;
  font-weight:700;
}
@media (max-width:700px){
  .profile-edit-quick-actions{grid-template-columns:1fr}
}
:root[data-theme="dark"] .profile-quick-tile{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
  border-color:rgba(255,255,255,.08);
}
:root[data-theme="dark"] .profile-quick-tile-icon{
  background:rgba(255,255,255,.08);
  color:#f3f4f6;
}
:root[data-theme="dark"] .profile-quick-tile-admin .profile-quick-tile-icon{
  background:rgba(255,255,255,.92);
  color:#111;
}
@media (max-width:700px){
  .profile-edit-top{flex-direction:column;align-items:stretch}
  .profile-verification-link{flex:1 1 auto;width:100%}
}
:root[data-theme="dark"] .profile-verification-link{
  background:linear-gradient(180deg,rgba(59,130,246,.18),rgba(59,130,246,.08));
  border-color:rgba(255,255,255,.08);
}

/* === Dark theme polish: softer surfaces, brighter post text, calmer contrast === */
:root[data-theme="dark"]{
  --bg:#10151d;
  --card:#161c25;
  --card2:#1b2330;
  --text:#eef3f9;
  --muted:#adb8c8;
  --border:rgba(255,255,255,.08);
  --shadow:0 10px 28px rgba(0,0,0,.24);
}

:root[data-theme="dark"] body{
  background:#10151d;
  color:var(--text);
}

:root[data-theme="dark"] .topbar,
:root[data-theme="dark"] .seg-9gag{
  background:rgba(16,21,29,.88) !important;
  backdrop-filter:saturate(160%) blur(14px);
  border-bottom-color:rgba(255,255,255,.06) !important;
}

:root[data-theme="dark"] .seg-9gag .seg-btn{
  color:rgba(222,229,238,.68) !important;
}
:root[data-theme="dark"] .seg-9gag .seg-btn.active{
  color:rgba(245,248,252,.98) !important;
  box-shadow:inset 0 -3px 0 rgba(245,248,252,.88) !important;
}

:root[data-theme="dark"] .card,
:root[data-theme="dark"] .panel,
:root[data-theme="dark"] .sheet,
:root[data-theme="dark"] .modal,
:root[data-theme="dark"] .box,
:root[data-theme="dark"] .search-card,
:root[data-theme="dark"] .activity-card,
:root[data-theme="dark"] .profile-card,
:root[data-theme="dark"] .channel-card,
:root[data-theme="dark"] .comment,
:root[data-theme="dark"] .comment-box,
:root[data-theme="dark"] .channel-row,
:root[data-theme="dark"] .p2,
:root[data-theme="dark"] .fi,
:root[data-theme="dark"] .fi-card,
:root[data-theme="dark"] .post-card{
  background:var(--card) !important;
  border-color:rgba(255,255,255,.07) !important;
  box-shadow:none !important;
}

:root[data-theme="dark"] .fi-title,
:root[data-theme="dark"] .post-title,
:root[data-theme="dark"] .fi-link-title,
:root[data-theme="dark"] .preview-title,
:root[data-theme="dark"] .urlpv-title{
  color:rgba(245,248,252,.98) !important;
}

:root[data-theme="dark"] .fi-text,
:root[data-theme="dark"] .fi-text-body,
:root[data-theme="dark"] .post-excerpt,
:root[data-theme="dark"] .fi-link-desc,
:root[data-theme="dark"] .urlpv-desc{
  color:rgba(224,231,240,.84) !important;
}

:root[data-theme="dark"] .fi-head,
:root[data-theme="dark"] .fi-user,
:root[data-theme="dark"] .post-meta,
:root[data-theme="dark"] .actions,
:root[data-theme="dark"] .urlpv-site,
:root[data-theme="dark"] .drawer-profile__user,
:root[data-theme="dark"] .drawer-profile__counters,
:root[data-theme="dark"] .drawer-title,
:root[data-theme="dark"] .drawer-empty{
  color:rgba(173,184,200,.86) !important;
}

:root[data-theme="dark"] .fi-comm,
:root[data-theme="dark"] .meta-comm,
:root[data-theme="dark"] .count,
:root[data-theme="dark"] .fi-count,
:root[data-theme="dark"] .fi-num,
:root[data-theme="dark"] .drawer-profile__counters b,
:root[data-theme="dark"] .drawer-lbl{
  color:rgba(239,244,250,.96) !important;
}

:root[data-theme="dark"] .dot,
:root[data-theme="dark"] .fi-dot{
  color:rgba(173,184,200,.38) !important;
}

:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select,
:root[data-theme="dark"] .drawer-close,
:root[data-theme="dark"] .drawer-view-switch,
:root[data-theme="dark"] .drawer-profile,
:root[data-theme="dark"] .bn-menu,
:root[data-theme="dark"] .urlpv-card{
  background:var(--card2) !important;
  border-color:rgba(255,255,255,.08) !important;
  color:var(--text) !important;
}

:root[data-theme="dark"] .drawer-panel{
  background:#111823 !important;
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 46px rgba(0,0,0,.30);
}

:root[data-theme="dark"] .drawer-backdrop{
  background:rgba(6,9,13,.44) !important;
}

:root[data-theme="dark"] .drawer-item:hover,
:root[data-theme="dark"] .drawer-logout__btn:hover,
:root[data-theme="dark"] .bn-menu-item:hover,
:root[data-theme="dark"] .bn-menu-item.is-on{
  background:rgba(255,255,255,.045) !important;
}

:root[data-theme="dark"] .drawer-item.is-active{
  background:rgba(96,165,250,.16) !important;
  box-shadow:inset 0 0 0 1px rgba(147,197,253,.18);
}

:root[data-theme="dark"] .drawer-item.is-active .drawer-ico,
:root[data-theme="dark"] .drawer-item.is-active .drawer-lbl{
  color:rgba(245,248,252,.98) !important;
}

:root[data-theme="dark"] .drawer-ico,
:root[data-theme="dark"] .drawer-view-switch__btn,
:root[data-theme="dark"] .bn-menu-item{
  color:rgba(173,184,200,.86) !important;
}

:root[data-theme="dark"] .drawer-view-switch__btn.is-on,
:root[data-theme="dark"] .btn.primary,
:root[data-theme="dark"] .pill.on,
:root[data-theme="dark"] .seg .on{
  background:rgba(239,244,250,.14) !important;
  color:rgba(245,248,252,.98) !important;
  box-shadow:none !important;
}

:root[data-theme="dark"] .drawer-badge{
  background:rgba(239,244,250,.12) !important;
  color:rgba(245,248,252,.96) !important;
}

:root[data-theme="dark"] .bottomnav,
:root[data-theme="dark"] .bottom-bar,
:root[data-theme="dark"] .mobile-nav,
:root[data-theme="dark"] .composer-bottomnav{
  background:rgba(17,24,35,.92) !important;
  border-top-color:rgba(255,255,255,.06) !important;
}

:root[data-theme="dark"] .nav-item,
:root[data-theme="dark"] .bottomnav a,
:root[data-theme="dark"] .bottomnav button{
  color:rgba(173,184,200,.84) !important;
}

:root[data-theme="dark"] .nav-item.active,
:root[data-theme="dark"] .bottomnav .active,
:root[data-theme="dark"] .bottomnav [aria-current="page"]{
  color:rgba(245,248,252,.98) !important;
}

:root[data-theme="dark"] .chip,
:root[data-theme="dark"] .seg-btn,
:root[data-theme="dark"] .pill,
:root[data-theme="dark"] .tag,
:root[data-theme="dark"] .badge{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.08) !important;
}

:root[data-theme="dark"] .seg-btn.active{
  background:rgba(239,244,250,.14) !important;
  color:rgba(245,248,252,.98) !important;
}

/* === Dark theme visibility fixes: tabs, pills, messages, moderation, category chips === */
:root[data-theme="dark"]{
  --bg-soft:#1a2230;
  --line:rgba(255,255,255,.08);
}

:root[data-theme="dark"] .seg-btn,
:root[data-theme="dark"] .p2-tabs .seg-btn,
:root[data-theme="dark"] .profile-tabs .seg-btn,
:root[data-theme="dark"] .seg-tabs .seg,
:root[data-theme="dark"] .mod-filter-chip,
:root[data-theme="dark"] .line-counter,
:root[data-theme="dark"] .field-counter,
:root[data-theme="dark"] .small,
:root[data-theme="dark"] .muted,
:root[data-theme="dark"] .check,
:root[data-theme="dark"] .check span,
:root[data-theme="dark"] .channel-section-head h2,
:root[data-theme="dark"] .h2row h2{
  color:rgba(229,236,245,.90) !important;
}

:root[data-theme="dark"] .seg-btn:hover,
:root[data-theme="dark"] .seg-btn:focus-visible,
:root[data-theme="dark"] .profile-tabs .seg-btn:hover,
:root[data-theme="dark"] .p2-tabs .seg-btn:hover,
:root[data-theme="dark"] .mod-filter-chip:hover{
  background:rgba(255,255,255,.09) !important;
  color:rgba(243,247,252,.98) !important;
}

:root[data-theme="dark"] .seg-btn.active,
:root[data-theme="dark"] .p2-tabs .seg-btn.active,
:root[data-theme="dark"] .profile-tabs .seg-btn.active,
:root[data-theme="dark"] .mod-filter-chip.is-active,
:root[data-theme="dark"] .seg-tabs .seg.on,
:root[data-theme="dark"] .seg .on{
  background:rgba(239,244,250,.16) !important;
  color:#f7fbff !important;
  border-color:rgba(255,255,255,.10) !important;
}

:root[data-theme="dark"] .pill,
:root[data-theme="dark"] .chip,
:root[data-theme="dark"] .tag,
:root[data-theme="dark"] .badge,
:root[data-theme="dark"] .btn.pill,
:root[data-theme="dark"] .pill-row .btn,
:root[data-theme="dark"] .category-row .btn,
:root[data-theme="dark"] .post-cat,
:root[data-theme="dark"] .cat-chip{
  color:rgba(233,239,247,.94) !important;
}

:root[data-theme="dark"] .composer-category-count{background:rgba(57,119,219,.18);border-color:rgba(94,147,231,.36);color:#dbe9ff}
:root[data-theme="dark"] .composer-selected-label{color:#9fb2c8}:root[data-theme="dark"] .composer-category-summary{background:rgba(28,42,64,.72);border-color:rgba(94,147,231,.24);color:#dbe9ff}
:root[data-theme="dark"] .composer-category-summary.is-empty{background:rgba(18,24,34,.82);border-color:rgba(255,255,255,.08);color:#98a7bb}

:root[data-theme="dark"] .pill.follow-on,
:root[data-theme="dark"] .js-follow-toggle.follow-on{
  background:#dfe7f5 !important;
  color:#0f1720 !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.14);
}

:root[data-theme="dark"] .pm-bubble,
:root[data-theme="dark"] .pm-bubble.is-me{
  background:linear-gradient(180deg,rgba(26,34,48,.96),rgba(21,28,39,.98)) !important;
  border-color:rgba(255,255,255,.08) !important;
  color:#edf3fb !important;
}

:root[data-theme="dark"] .pm-bubble__text,
:root[data-theme="dark"] .pm-bubble__meta,
:root[data-theme="dark"] .pm-bubble-head__name,
:root[data-theme="dark"] .pm-bubble-head__username,
:root[data-theme="dark"] .pm-bubble .small,
:root[data-theme="dark"] .pm-bubble a,
:root[data-theme="dark"] .pm-thread .muted,
:root[data-theme="dark"] .pm-thread .small{
  color:inherit !important;
}
:root[data-theme="dark"] .pm-bubble__meta,
:root[data-theme="dark"] .pm-bubble-head__username{
  color:rgba(182,193,208,.88) !important;
}

:root[data-theme="dark"] .mod-section-card,
:root[data-theme="dark"] .mod-manage-panel,
:root[data-theme="dark"] .mod-member-card,
:root[data-theme="dark"] .mod-stat-card,
:root[data-theme="dark"] .mod-request-card,
:root[data-theme="dark"] .mod-log-card{
  background:linear-gradient(180deg,rgba(22,29,40,.98),rgba(18,24,34,.98)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  color:#edf3fb !important;
  box-shadow:none !important;
}

:root[data-theme="dark"] .mod-member-name,
:root[data-theme="dark"] .mod-member-name a,
:root[data-theme="dark"] .mod-section-head .h2,
:root[data-theme="dark"] .mod-stat-value,
:root[data-theme="dark"] .mod-stat-label,
:root[data-theme="dark"] .mod-manage-toolbar,
:root[data-theme="dark"] [data-mod-visible-count]{
  color:#edf3fb !important;
}

:root[data-theme="dark"] .mod-member-meta,
:root[data-theme="dark"] .mod-member-meta .small,
:root[data-theme="dark"] .mod-stat-meta,
:root[data-theme="dark"] .mod-section-head .small,
:root[data-theme="dark"] .mod-empty,
:root[data-theme="dark"] .mod-inline-form .small{
  color:rgba(182,193,208,.88) !important;
}

:root[data-theme="dark"] .mod-inline-form .input,
:root[data-theme="dark"] .mod-inline-form select,
:root[data-theme="dark"] .mod-manage-search,
:root[data-theme="dark"] .mod-section-card .input{
  background:rgba(255,255,255,.05) !important;
  color:#edf3fb !important;
  border-color:rgba(255,255,255,.08) !important;
}

:root[data-theme="dark"] .mod-section-card .btn.alt,
:root[data-theme="dark"] .mod-member-card .pill.alt,
:root[data-theme="dark"] .mod-member-card .pill{
  background:rgba(255,255,255,.07) !important;
  color:#edf3fb !important;
  border-color:rgba(255,255,255,.08) !important;
}

:root[data-theme="dark"] .pill-row .btn.pill.alt,
:root[data-theme="dark"] .categories-tab-row .btn.pill,
:root[data-theme="dark"] .channel-section-head .chev,
:root[data-theme="dark"] .category-row,
:root[data-theme="dark"] .category-list .category-row{
  color:#edf3fb !important;
}

:root[data-theme="dark"] .pill-row .btn.pill.alt,
:root[data-theme="dark"] .categories-tab-row .btn.pill,
:root[data-theme="dark"] .post-cat,
:root[data-theme="dark"] .cat-chip,
:root[data-theme="dark"] .category-row{
  background:rgba(255,255,255,.05) !important;
  border-color:rgba(255,255,255,.08) !important;
}

:root[data-theme="dark"] .line-counter,
:root[data-theme="dark"] .field-counter{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.08) !important;
}

/* === Dark theme polish pass: channels + moderation balance === */
:root[data-theme="dark"] .seg-tabs .seg{
  background:rgba(255,255,255,.06) !important;
  color:rgba(226,233,243,.92) !important;
  border-color:rgba(255,255,255,.09) !important;
  box-shadow:none !important;
}

:root[data-theme="dark"] .seg-tabs .seg:hover,
:root[data-theme="dark"] .seg-tabs .seg:focus-visible{
  background:rgba(255,255,255,.10) !important;
  color:#f6f9fd !important;
  border-color:rgba(255,255,255,.12) !important;
}

:root[data-theme="dark"] .seg-tabs .seg.on{
  background:linear-gradient(180deg,rgba(78,90,112,.44),rgba(57,67,86,.46)) !important;
  color:#f7fbff !important;
  border-color:rgba(255,255,255,.12) !important;
}

:root[data-theme="dark"] .channels-page .channel-section-head h2,
:root[data-theme="dark"] .channels-page .page-head h1,
:root[data-theme="dark"] .channels-page .h2row,
:root[data-theme="dark"] .channels-page .h2row h2,
:root[data-theme="dark"] .channels-page .chev{
  color:#eef4fb !important;
}

:root[data-theme="dark"] .channels-page .pill-row .btn.pill.alt,
:root[data-theme="dark"] .channels-page .categories-tab-row .btn.pill,
:root[data-theme="dark"] .channels-page .post-cat,
:root[data-theme="dark"] .channels-page .cat-chip,
:root[data-theme="dark"] .channels-page .category-row{
  background:rgba(255,255,255,.055) !important;
  color:#edf3fb !important;
  border-color:rgba(255,255,255,.10) !important;
}

:root[data-theme="dark"] .mod-back-top,
:root[data-theme="dark"] .mod-page-shell > .btn.alt,
:root[data-theme="dark"] .pm-thread .btn.alt{
  background:rgba(255,255,255,.08) !important;
  color:#eef4fb !important;
  border-color:rgba(255,255,255,.10) !important;
}

:root[data-theme="dark"] .mod-back-top:hover,
:root[data-theme="dark"] .mod-page-shell > .btn.alt:hover,
:root[data-theme="dark"] .pm-thread .btn.alt:hover{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}

:root[data-theme="dark"] .mod-manage-list{
  background:rgba(12,18,29,.62) !important;
  border-color:rgba(255,255,255,.08) !important;
}

:root[data-theme="dark"] .mod-member-card{
  background:transparent !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

:root[data-theme="dark"] .mod-member-card .btn,
:root[data-theme="dark"] .mod-member-actions .btn{
  background:rgba(255,255,255,.07) !important;
  color:#eef4fb !important;
  border-color:rgba(255,255,255,.10) !important;
}

:root[data-theme="dark"] .mod-member-card .btn:hover,
:root[data-theme="dark"] .mod-member-actions .btn:hover{
  background:rgba(255,255,255,.11) !important;
}

:root[data-theme="dark"] .mod-member-card .btn.alt,
:root[data-theme="dark"] .mod-member-card .pill,
:root[data-theme="dark"] .mod-member-card .pill.alt,
:root[data-theme="dark"] .mod-filter-chip span{
  background:rgba(255,255,255,.09) !important;
  color:#eef4fb !important;
  border-color:rgba(255,255,255,.10) !important;
}


/* ============================================================
   ADMIN PANEL — Premium Control Center pass
   ============================================================ */
.admin-shell--premium {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.8), transparent 28%),
    radial-gradient(circle at top right, rgba(148,163,184,.18), transparent 26%),
    linear-gradient(180deg, #f5f7fb 0%, #eef2f7 52%, #edf1f6 100%);
}
.admin-sidebar {
  background:
    radial-gradient(circle at top, rgba(255,255,255,.10), transparent 26%),
    linear-gradient(180deg, #0f172a 0%, #111827 46%, #0b1220 100%);
  border-right: 1px solid rgba(255,255,255,.06);
  box-shadow: 14px 0 40px rgba(2,6,23,.18);
}
.admin-sidebar__header {
  padding-bottom: 18px;
}
.admin-sidebar__logo {
  font-size: 17px;
}
.admin-sidebar__sub {
  color: rgba(226,232,240,.48);
  margin-top: 6px;
}
.admin-sidebar__status {
  margin-top: 16px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.admin-sidebar__status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  color: #e2e8f0;
  background: rgba(255,255,255,.08);
}
.admin-sidebar__status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #cbd5e1;
  box-shadow: 0 0 0 4px rgba(203,213,225,.12);
}
.admin-sidebar__status-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.admin-sidebar__status-grid div {
  display: grid;
  gap: 3px;
}
.admin-sidebar__status-grid strong {
  font-size: 20px;
  line-height: 1;
  letter-spacing: -.03em;
  color: #fff;
}
.admin-sidebar__status-grid span {
  font-size: 10.5px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(226,232,240,.56);
}
.admin-nav {
  padding: 16px 0 12px;
}
.admin-nav__group {
  margin: 0 10px 10px;
  padding: 4px 0 0;
  border-radius: 16px;
  background: rgba(255,255,255,.02);
}
.admin-nav__group-label {
  padding: 10px 14px 6px;
}
.admin-nav__item {
  margin: 2px 8px;
  border-radius: 12px;
  padding: 11px 12px;
}
.admin-nav__item.active {
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.admin-nav__item.active::before {
  left: 8px;
  top: 8px;
  bottom: 8px;
  border-radius: 999px;
}
.admin-sidebar__footer {
  padding: 14px 10px 16px;
}
.admin-sidebar__footer-link {
  margin: 0 8px;
  border-radius: 12px;
}
.admin-main {
  padding: 32px 32px 72px;
}
.admin-page-header--enhanced {
  gap: 16px;
}
.admin-page-header__main {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 24px 24px;
  border: 1px solid rgba(148,163,184,.18);
  box-shadow: 0 22px 60px rgba(15,23,42,.08);
}
.admin-page-header__surface {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(15,23,42,.06), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.80), rgba(248,250,252,.32));
  pointer-events: none;
}
.admin-page-header__main > * {
  position: relative;
  z-index: 1;
}
.admin-page-header__title {
  font-size: 32px;
}
.admin-page-header__desc {
  max-width: 820px;
  font-size: 14.5px;
}
.admin-page-header__actions {
  align-items: flex-end;
  justify-content: flex-end;
}
.admin-page-header__microcopy {
  display: block;
  max-width: 260px;
  font-size: 12px;
  line-height: 1.5;
  color: #64748b;
  margin-right: 4px;
}
.admin-soft-link {
  min-height: 42px;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}
.admin-summary-strip--premium {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-summary-tile {
  position: relative;
  overflow: hidden;
  min-height: 104px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.78));
  border-color: rgba(148,163,184,.18);
}
.admin-summary-tile::after {
  content: '';
  position: absolute;
  right: -22px;
  top: -22px;
  width: 78px;
  height: 78px;
  border-radius: 999px;
  background: rgba(148,163,184,.10);
}
.admin-summary-tile strong {
  font-size: 28px;
}
.admin-context-nav__item {
  min-height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(8px);
}
.admin-content .card {
  border-radius: 22px !important;
  box-shadow: 0 16px 46px rgba(15,23,42,.06);
}
.admin-content .stat {
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border-color: rgba(148,163,184,.22);
  border-radius: 16px;
}
.admin-content .stat--alert {
  background: linear-gradient(180deg, #fff7f7, #fff1f2);
  border-color: rgba(239,68,68,.20);
}
.admin-dashboard-hero {
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 18px;
  margin-bottom: 18px;
}
.admin-dashboard-hero__panel,
.admin-dashboard-hero__aside-card {
  border-radius: 24px;
  border: 1px solid rgba(148,163,184,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.74));
  box-shadow: 0 18px 50px rgba(15,23,42,.06);
}
.admin-dashboard-hero__panel {
  padding: 24px;
}
.admin-dashboard-hero__aside-card {
  padding: 20px;
  height: 100%;
}
.admin-dashboard-hero__eyebrow {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.06);
  color: #475569;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.admin-dashboard-hero__title {
  margin-top: 14px;
  font-size: 30px;
  line-height: 1.08;
  letter-spacing: -.04em;
  font-weight: 950;
  color: #0f172a;
  max-width: 720px;
}
.admin-dashboard-hero__desc {
  margin-top: 12px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.65;
  max-width: 760px;
}
.admin-dashboard-hero__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}
.admin-dashboard-hero__metric {
  padding: 16px;
  border-radius: 18px;
  background: rgba(248,250,252,.86);
  border: 1px solid rgba(148,163,184,.18);
}
.admin-dashboard-hero__metric span,
.admin-dashboard-hero__aside-label {
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #64748b;
}
.admin-dashboard-hero__metric strong {
  display: block;
  margin-top: 10px;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.04em;
  color: #0f172a;
}
.admin-dashboard-hero__metric small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
}
.admin-dashboard-hero__steps {
  margin: 14px 0 0;
  padding-left: 18px;
  color: #334155;
  line-height: 1.7;
}
.admin-work-cluster {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(148,163,184,.14);
}
.admin-work-cluster:first-of-type {
  margin-top: 18px;
}
.admin-work-cluster__eyebrow {
  color: #0f172a !important;
}
.admin-work-cluster__desc {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.55;
  color: #64748b;
}
.admin-quick-grid a {
  align-items: flex-start;
  padding: 18px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border-color: rgba(148,163,184,.20);
}
.admin-quick-grid__title {
  font-size: 14px;
  font-weight: 800;
  color: #0f172a;
}
.admin-quick-grid__desc {
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
  text-align: left;
}
.admin-health-list {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.admin-health-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 15px 16px;
  border-radius: 16px;
  border: 1px solid rgba(148,163,184,.16);
  background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(255,255,255,.88));
}
.admin-health-item__label,
.admin-note-card__title {
  font-weight: 800;
  color: #0f172a;
}
.admin-health-item__state,
.admin-note-card__text {
  margin-top: 5px;
  color: #64748b !important;
}
.admin-health-item__value {
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.04em;
  color: #0f172a;
}
.admin-note-card--premium {
  border-style: solid;
  background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,250,252,.72));
}
@media (max-width: 1100px) {
  .admin-dashboard-hero,
  .admin-section-grid {
    grid-template-columns: 1fr;
  }
  .admin-dashboard-hero__metrics {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 899px) {
  .admin-main {
    padding: 74px 14px 80px;
  }
  .admin-page-header__microcopy {
    max-width: none;
    margin: 0 0 4px;
  }
  .admin-summary-strip--premium {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .admin-dashboard-hero__title,
  .admin-page-header__title {
    font-size: 24px;
  }
  .admin-sidebar__status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
:root[data-theme="dark"] .admin-shell--premium {
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.03), transparent 22%),
    linear-gradient(180deg, #09090b 0%, #111827 55%, #0b1020 100%);
}
:root[data-theme="dark"] .admin-sidebar {
  background: linear-gradient(180deg, #020617 0%, #0f172a 48%, #020617 100%);
  border-right-color: rgba(255,255,255,.05);
}
:root[data-theme="dark"] .admin-sidebar__status,
:root[data-theme="dark"] .admin-page-header__main,
:root[data-theme="dark"] .admin-summary-tile,
:root[data-theme="dark"] .admin-dashboard-hero__panel,
:root[data-theme="dark"] .admin-dashboard-hero__aside-card,
:root[data-theme="dark"] .admin-content .card,
:root[data-theme="dark"] .admin-context-nav__item,
:root[data-theme="dark"] .admin-health-item,
:root[data-theme="dark"] .admin-note-card--premium,
:root[data-theme="dark"] .admin-quick-grid a,
:root[data-theme="dark"] .admin-dashboard-hero__metric,
:root[data-theme="dark"] .admin-content .stat {
  background: linear-gradient(180deg, rgba(15,23,42,.92), rgba(17,24,39,.84));
  border-color: rgba(71,85,105,.45) !important;
  box-shadow: none;
}
:root[data-theme="dark"] .admin-page-header__surface {
  background:
    radial-gradient(circle at top right, rgba(148,163,184,.10), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.02), rgba(255,255,255,.00));
}
:root[data-theme="dark"] .admin-page-header__title,
:root[data-theme="dark"] .admin-dashboard-hero__title,
:root[data-theme="dark"] .admin-health-item__label,
:root[data-theme="dark"] .admin-health-item__value,
:root[data-theme="dark"] .admin-quick-grid__title,
:root[data-theme="dark"] .admin-note-card__title,
:root[data-theme="dark"] .admin-content .kicker,
:root[data-theme="dark"] .admin-summary-tile strong,
:root[data-theme="dark"] .admin-dashboard-hero__metric strong {
  color: #f8fafc;
}
:root[data-theme="dark"] .admin-page-header__desc,
:root[data-theme="dark"] .admin-page-header__microcopy,
:root[data-theme="dark"] .admin-dashboard-hero__desc,
:root[data-theme="dark"] .admin-dashboard-hero__metric small,
:root[data-theme="dark"] .admin-health-item__state,
:root[data-theme="dark"] .admin-work-cluster__desc,
:root[data-theme="dark"] .admin-quick-grid__desc,
:root[data-theme="dark"] .admin-note-card__text,
:root[data-theme="dark"] .admin-content .muted,
:root[data-theme="dark"] .admin-content .small {
  color: #94a3b8 !important;
}
:root[data-theme="dark"] .admin-dashboard-hero__eyebrow,
:root[data-theme="dark"] .admin-page-header__group,
:root[data-theme="dark"] .admin-context-nav__item,
:root[data-theme="dark"] .admin-soft-link {
  background: rgba(255,255,255,.04);
  color: #e2e8f0;
}
:root[data-theme="dark"] .admin-context-nav__item.active {
  background: #e2e8f0;
  color: #0f172a;
  border-color: #e2e8f0;
}
:root[data-theme="dark"] .admin-summary-tile::after {
  background: rgba(148,163,184,.08);
}


/* Post comments header: place sort control on the right without border */
body.is-post #comments .comments-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:0;
  margin:0 0 8px;
}
body.is-post #comments .comments-head-main{
  min-width:0;
  flex:1 1 auto;
}
body.is-post #comments .comments-count{
  margin-bottom:0;
}
body.is-post #comments .comments-sort-form{
  flex:0 0 auto;
  margin:0;
  position:relative;
  z-index:2;
}
body.is-post #comments .comments-sort-select{
  width:auto;
  min-width:0;
  padding:10px 18px;
  border:0;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
  font-size:15px;
  font-weight:500;
  appearance:auto;
  -webkit-appearance:menulist;
}
body.is-post #comments .comments-sort-select:focus{
  outline:none;
  box-shadow:none;
}
@media (max-width:700px){
  body.is-post #comments .comments-head{
    align-items:center;
  }
  body.is-post #comments .comments-sort-select{
    padding:10px 16px;
  }
}


/* Post detail header: close button left, no middle back arrow, no messages icon */
.topbar--post-detail .topbar-left,
.topbar--post-detail .topbar-right{
  position:relative;
  z-index:2;
}
.topbar--post-detail .topbar-center{
  gap:0;
}
.topbar--post-detail .topbar-center-title{
  margin-left:0;
}
.iconbtn-closefeed{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  text-decoration:none;
  font-size:32px;
  line-height:1;
  color:#111;
  border:1px solid rgba(17,24,39,.08);
  background:#fff;
  flex:0 0 auto;
}
:root[data-theme="dark"] .iconbtn-closefeed{
  color:#e7e9ee;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.10);
}

/* Hide topbar hamburger on desktop where left sidebar is already visible */
@media (min-width: 1024px){
  .iconbtn-menu{
    display:none !important;
  }
}


.not-found-card{padding:26px 18px 24px;text-align:center;overflow:hidden;border-radius:24px}
.nf-badge{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:32px;padding:0 14px;border-radius:999px;background:#111;color:#fff;font-size:13px;font-weight:800;letter-spacing:.08em;margin:0 auto 10px}
.nf-subject{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted, #6b7280);margin-bottom:8px}
.nf-figure{display:block;width:min(360px,100%);height:auto;margin:0 auto 10px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.05))}
.nf-title{margin-top:4px;font-size:clamp(28px,4vw,40px);line-height:1.08}
.nf-text{max-width:560px;margin:10px auto 0;font-size:15px;line-height:1.6}
.nf-note{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:8px 14px;border-radius:999px;background:rgba(242,138,46,.10);border:1px solid rgba(242,138,46,.22);color:#8a4f17;font-size:13px;font-weight:700}
.nf-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.nf-actions .btn{min-width:132px}
:root[data-theme="dark"] .nf-badge{background:#fff;color:#111}
:root[data-theme="dark"] .nf-subject{color:#b8c0cf}
:root[data-theme="dark"] .nf-note{background:rgba(242,138,46,.18);border-color:rgba(242,138,46,.28);color:#ffd2a6}
:root[data-theme="dark"] .nf-figure text,
:root[data-theme="dark"] .nf-figure path,
:root[data-theme="dark"] .nf-figure circle,
:root[data-theme="dark"] .nf-figure rect,
:root[data-theme="dark"] .nf-figure ellipse{filter:none}
@media (max-width:640px){
  .not-found-card{padding:22px 14px 20px}
  .nf-text{font-size:14px}
  .nf-actions .btn{min-width:120px}
}

@media (max-width:640px){
  .composer-title{
    font-size:28px;
    padding-right:84px;
  }
}

.search-live-wrap{position:relative}
.search-suggest{position:relative;margin-top:10px;z-index:30}
.search-suggest-card{background:var(--card, #fff);border:1px solid var(--line, rgba(0,0,0,.08));border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.06);overflow:hidden}
.search-suggest-group + .search-suggest-group{border-top:1px solid var(--line, rgba(0,0,0,.08))}
.search-suggest-title{padding:12px 16px 6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, #6b7280)}
.search-suggest-row{display:flex;gap:12px;align-items:center;padding:10px 16px;text-decoration:none;color:inherit}
.search-suggest-row:hover,.search-suggest-row:focus{background:rgba(0,0,0,.03)}
.search-suggest-avatar{flex:0 0 auto}
.search-suggest-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.search-suggest-name{font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-suggest-meta{font-size:13px;line-height:1.25;color:var(--muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-suggest-empty{padding:16px;color:var(--muted, #6b7280)}
@media (max-width: 768px){
  .search-suggest{margin-top:12px}
  .search-suggest-card{border-radius:16px}
}


.search-filter-tabs{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:0 0 12px;margin:0 0 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.search-filter-tabs::-webkit-scrollbar{display:none}
.search-filter-tab{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid var(--line, rgba(0,0,0,.08));border-radius:999px;background:var(--bg-elevated, #fff);color:inherit;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}
.search-filter-tab.is-active{background:#111;color:#fff;border-color:#111}
@media (max-width: 980px){
  body.is-search-page .search-filter-tabs{padding-left:var(--edgePad);padding-right:var(--edgePad);margin-top:-2px;margin-bottom:6px}
}
:root[data-theme="dark"] .search-filter-tab{background:var(--bg-elevated, #16181d);border-color:var(--line, rgba(255,255,255,.12))}
:root[data-theme="dark"] .search-filter-tab.is-active{background:#fff;color:#111;border-color:#fff}

.meme-generator-canvaswrap{position:relative;}
.meme-generator-dompreview{position:absolute;inset:10px;border-radius:16px;overflow:hidden;display:none;background:#f6f9ff;z-index:2;pointer-events:none;}
.meme-generator-dompreview-single,.meme-generator-dompreview-dual{width:100%;height:100%;}
.meme-generator-dompreview-dual{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.meme-generator-dompreview-pane{min-width:0;min-height:0;overflow:hidden;background:#f6f9ff;}
.meme-generator-dompreview-img{display:block;width:100%;height:100%;object-fit:contain;background:#f6f9ff;}
body.meme-generator-page .meme-generator-canvas{position:relative;z-index:1;transition:opacity .15s ease;}

.meme-generator-dompreview-single{position:relative;}
.meme-generator-dompreview-dual{position:relative;}
.meme-generator-dompreview-pane{position:relative;}
.meme-generator-domtext{position:absolute;left:0;right:0;z-index:4;pointer-events:none;text-align:center;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;word-break:break-word;overflow-wrap:anywhere;}
.meme-generator-domtext-top{top:18px;}
.meme-generator-domtext-bottom{bottom:18px;}
.meme-generator-domtext-half{left:0;right:0;}
.meme-generator-domtext-wide{left:0;right:0;}


/* Channel page header cleanup */
.channel-hero:before{
  content:none !important;
  display:none !important;
  background:none !important;
}

.seg-9gag-comm{
  position:relative;
  top:auto;
  z-index:3;
  margin:0 calc(-1 * var(--edgePad));
}

.channel-card{
  margin-top:0;
}

@media (max-width: 420px){
  .composer-toolbar{gap:8px;padding-left:12px;padding-right:12px;}
  .composer-toolbar-btn{min-width:72px;padding:0 12px;font-size:14px;}
  .composer-toolbar-submit{min-width:84px;}
}

/* Immediate close feedback for post detail X button */
.iconbtn-closefeed.is-closing{
  pointer-events:none;
  opacity:.55;
}


/* URL-only compact posts: when the body contains only a URL, remove the
   artificial preview gap that was caused by the mobile compact-card min-height. */
.feeditem.feeditem-urlcompact.feeditem-urlbodyonly .fi-linkcompact-row{
  margin-top:4px;
}
@media (max-width:640px){
  .feeditem.feeditem-urlcompact.feeditem-urlbodyonly .fi-main-urlcompact{
    min-height:0;
  }
  .feeditem.feeditem-urlcompact.feeditem-urlbodyonly .fi-linkcompact-row{
    margin-top:2px;
  }
}

/* ==========================================================
   Post detail lightbox: true fullscreen image viewer
   ========================================================== */
.lb{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  z-index:2147483647 !important;
  padding:0 !important;
  background:#000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
  -webkit-user-select:none;
  user-select:none;
  touch-action:manipulation;
}
.lb[hidden]{display:none !important;}
.lb-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:#000 !important;
  opacity:1 !important;
}
.lb-panel,
.lb.is-video .lb-panel{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100vh !important;
  max-height:100dvh !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  background:#000 !important;
}
.lb-body{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.lb-stage{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#000 !important;
  overflow:hidden !important;
}
.lb-media,
.lb-media-video{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100vw !important;
  max-height:100vh !important;
  max-height:100dvh !important;
  object-fit:contain !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#000 !important;
}
.lb-media-video{
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
}
.lb-top{
  position:fixed !important;
  top:max(10px, calc(env(safe-area-inset-top) + 10px)) !important;
  left:max(10px, calc(env(safe-area-inset-left) + 10px)) !important;
  right:max(10px, calc(env(safe-area-inset-right) + 10px)) !important;
  z-index:2147483647 !important;
  pointer-events:none !important;
}
.lb-top > *{pointer-events:auto !important;}
.lb-close,
.lb-download,
.lb-nav{
  background:rgba(0,0,0,.58) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.28) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.35) !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.lb-nav{
  position:fixed !important;
  z-index:2147483646 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}
.lb-prev{left:max(10px, calc(env(safe-area-inset-left) + 10px)) !important;}
.lb-next{right:max(10px, calc(env(safe-area-inset-right) + 10px)) !important;}
html.lb-open,
body.lb-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
  touch-action:none;
}
body.lb-open .post-detail-topbar,
body.lb-open .comment-composer,
body.lb-open .bottomnav,
body.lb-open .fab-compose,
body.lb-open .pwa-install,
body.lb-open .pwa-install-banner{
  visibility:hidden !important;
  pointer-events:none !important;
}
body.lb-open #lb,
body.lb-open #lb *{
  visibility:visible !important;
}
@media (max-width:520px){
  .lb-stage{padding:0 !important;}
  .lb-nav{width:44px !important;height:44px !important;line-height:42px !important;font-size:30px !important;}
  .lb-close,.lb-download{padding:9px 14px !important;}
}

/* Compact URL cards: keep the first/post-preview URL in a fixed lower position
   inside the preview copy. The original URL is removed from the free text by PHP,
   so link cards no longer create a large empty gap below the title. */
.feeditem.feeditem-urlcompact .fi-main-urlcompact > .fi-text{
  margin-top:3px;
  margin-bottom:0;
}
.feeditem.feeditem-urlcompact .fi-main-urlcompact > .fi-text + .fi-linkcompact-row{
  margin-top:6px;
}
.feeditem.feeditem-urlcompact .fi-primary-url{
  display:inline-block;
  margin-top:5px;
  font-size:calc(var(--fs-post-text,16px) * .84);
  line-height:1.22;
  font-weight:500;
  color:#3b82f6;
  text-decoration:none;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  vertical-align:top;
}
.feeditem.feeditem-urlcompact .fi-primary-url:hover,
.feeditem.feeditem-urlcompact .fi-primary-url:focus-visible{
  color:#2563eb;
  text-decoration:none;
}
.feeditem.feeditem-urlcompact .fi-primary-url:active{
  opacity:.75;
}
@media (max-width:640px){
  .feeditem.feeditem-urlcompact .fi-main-urlcompact > .fi-text{
    margin-top:2px;
  }
  .feeditem.feeditem-urlcompact .fi-main-urlcompact > .fi-text + .fi-linkcompact-row{
    margin-top:5px;
  }
  .feeditem.feeditem-urlcompact .fi-primary-url{
    margin-top:4px;
  }
}

/* Inline text + URL compact preview gap fix.
   When a post contains normal text with an inline URL, the compact URL card must
   start directly after the text on feed and detail pages. The old mobile
   min-height reserved empty vertical space above the preview row. */
.feeditem.feeditem-urlcompact .fi-main-urlcompact{
  min-height:0 !important;
}
.feeditem.feeditem-urlcompact .fi-linkcompact-row{
  margin-top:4px !important;
}
.feeditem.feeditem-urlcompact .fi-main-urlcompact + .fi-linkcompact-row{
  margin-top:4px !important;
}
@media (max-width:640px){
  .feeditem.feeditem-urlcompact .fi-main-urlcompact{
    min-height:0 !important;
  }
  .feeditem.feeditem-urlcompact .fi-linkcompact-row,
  .feeditem.feeditem-urlcompact .fi-main-urlcompact + .fi-linkcompact-row{
    margin-top:3px !important;
  }
}

/* Search category related suggestions */
.search-category-item .item-main{min-width:0;}
.search-related-cats{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--line, rgba(0,0,0,.08));
}
.search-related-title{
  margin-bottom:8px;
  font-size:12px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted, #6b7280);
}
.search-related-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.search-related-chip{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  gap:7px;
  padding:7px 10px;
  border:1px solid var(--line, rgba(0,0,0,.08));
  border-radius:999px;
  background:var(--bg-elevated, #fff);
  color:inherit;
  text-decoration:none;
  font-size:13px;
  line-height:1.15;
  font-weight:800;
}
.search-related-chip:hover,
.search-related-chip:focus-visible{
  text-decoration:none;
  border-color:rgba(59,130,246,.45);
}
.search-related-count{
  color:var(--muted, #6b7280);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
@media (max-width:640px){
  .search-related-cats{margin-top:9px;padding-top:9px;}
  .search-related-list{gap:7px;}
  .search-related-chip{padding:7px 9px;font-size:12.5px;}
}
:root[data-theme="dark"] .search-related-chip{
  background:var(--bg-elevated, #16181d);
  border-color:var(--line, rgba(255,255,255,.12));
}

.search-category-item--lg{
  padding:0;
}
.search-category-item__main{
  width:100%;
}
.search-category-item__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.search-category-item__headline{
  min-width:0;
  flex:1 1 auto;
}
.search-category-item__title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  font-size:0;
}
.search-category-item__title a{
  font-size:17px;
  line-height:1.18;
  font-weight:900;
  color:var(--text, #111827);
  text-decoration:none;
}
.search-category-item__title a:hover,
.search-category-item__title a:focus-visible{
  text-decoration:underline;
}
.search-category-item__tag{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:5px 12px;
  border-radius:999px;
  font-size:14px;
  font-weight:800;
  background:var(--card, #f3f4f6);
  border:1px solid var(--line, rgba(0,0,0,.08));
  color:var(--muted, #6b7280);
}
.search-category-item__meta{
  margin-top:8px;
  font-size:15px;
  line-height:1.35;
  color:var(--muted, #6b7280);
}
.search-category-item__actions{
  flex:0 0 auto;
}
.search-category-follow-form{
  margin:0;
}
.search-cat-follow-btn{
  width:44px;
  min-width:44px;
  height:44px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:none;
}
.search-cat-follow-btn__icon{
  display:block;
  font-size:28px;
  line-height:1;
  font-weight:900;
  transform:translateY(-1px);
}
.search-cat-follow-btn.alt .search-cat-follow-btn__icon,
.search-cat-follow-btn.is-on .search-cat-follow-btn__icon{
  font-size:22px;
}
@media (max-width:640px){
  .search-category-item__head{gap:12px;}
  .search-category-item__title a{font-size:18px;}
  .search-category-item__tag{min-height:34px;padding:6px 13px;font-size:15px;}
  .search-category-item__meta{font-size:15px;}
  .search-cat-follow-btn{width:46px;min-width:46px;height:46px;}
  .search-cat-follow-btn__icon{font-size:30px;}
}
:root[data-theme="dark"] .search-category-item__tag{
  background:var(--bg-elevated, #16181d);
  border-color:var(--line, rgba(255,255,255,.12));
  color:var(--muted, #aab0bb);
}

/* Profile header refinement: keep the bio inside the profile information column,
   move subtle visitor actions to the right, and add a clean divider above tabs. */
.p2-bio-meta{
  width:100%;
  margin-top:14px;
  max-width:100%;
  color:var(--text);
  font-size:15px;
  line-height:1.42;
}
.p2-head-on-cover .p2-bio-meta{
  color:#fff;
  text-shadow:0 10px 25px rgba(0,0,0,.35);
}
.p2-actions-minimal{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:6px 12px 9px;
}
.p2-actions-minimal .p2-action-row{
  justify-content:flex-end;
}
.p2-tabs-wrap{
  border-top:1px solid var(--border);
  padding-top:10px;
  margin-top:4px;
}
@media (max-width:520px){
  .p2-bio-meta{
    margin-top:12px;
    font-size:14.5px;
    line-height:1.38;
  }
  .p2-actions-minimal{
    padding:6px 12px 9px;
  }
  .p2-tabs-wrap{
    padding-top:9px;
    margin-top:3px;
  }
}


/* Profile visitor action pills: subtle pastel-blue styling for Follow + Message. */
.p2-actions-minimal .p2-action-btn{
  background:#eaf3ff;
  border-color:#cfe3ff;
  color:#2563eb;
  box-shadow:0 1px 0 rgba(37,99,235,.04);
}
.p2-actions-minimal .p2-action-btn:hover,
.p2-actions-minimal .p2-action-btn:focus-visible{
  background:#ddecff;
  border-color:#bcd8ff;
  color:#1d4ed8;
  text-decoration:none;
}
.p2-actions-minimal .p2-action-btn:active{
  background:#d4e8ff;
}
.p2-actions-minimal .p2-action-btn.is-following{
  background:#eef6ff;
  border-color:#d7e9ff;
  color:#3b82f6;
}
:root[data-theme="dark"] .p2-actions-minimal .p2-action-btn{
  background:rgba(59,130,246,.16);
  border-color:rgba(96,165,250,.28);
  color:#93c5fd;
}
:root[data-theme="dark"] .p2-actions-minimal .p2-action-btn:hover,
:root[data-theme="dark"] .p2-actions-minimal .p2-action-btn:focus-visible{
  background:rgba(59,130,246,.22);
  border-color:rgba(147,197,253,.36);
  color:#bfdbfe;
}

/* Final override: make visitor profile action buttons solid blue with white text.
   This is intentionally specific because older generic button rules are loaded above. */
body .p2-actions-minimal .p2-action-btn,
body .p2-actions-minimal .p2-action-form .p2-action-btn,
body .p2-actions-minimal a.p2-action-btn{
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#ffffff !important;
  box-shadow:0 1px 0 rgba(37,99,235,.18) !important;
}
body .p2-actions-minimal .p2-action-btn:hover,
body .p2-actions-minimal .p2-action-btn:focus-visible{
  background:#1d4ed8 !important;
  border-color:#1d4ed8 !important;
  color:#ffffff !important;
  text-decoration:none !important;
}
body .p2-actions-minimal .p2-action-btn:active{
  background:#1e40af !important;
  border-color:#1e40af !important;
  color:#ffffff !important;
  transform:scale(.98);
}
body .p2-actions-minimal .p2-action-btn.is-following{
  background:#1d4ed8 !important;
  border-color:#1d4ed8 !important;
  color:#ffffff !important;
}
:root[data-theme="dark"] body .p2-actions-minimal .p2-action-btn,
:root[data-theme="dark"] body .p2-actions-minimal .p2-action-form .p2-action-btn,
:root[data-theme="dark"] body .p2-actions-minimal a.p2-action-btn{
  background:#3b82f6 !important;
  border-color:#3b82f6 !important;
  color:#ffffff !important;
}
:root[data-theme="dark"] body .p2-actions-minimal .p2-action-btn:hover,
:root[data-theme="dark"] body .p2-actions-minimal .p2-action-btn:focus-visible{
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#ffffff !important;
}

/* Post detail full-width media / preview layout.
   On the single-post page, media content should sit below the text and use the
   available post column width, instead of staying as a small side thumbnail. */
body.is-post .feeditem .fi-media,
body.is-post .feeditem .fi-media-grid,
body.is-post .feeditem .fi-link,
body.is-post .feeditem .fi-linkcompact-row{
  width:100% !important;
  max-width:100% !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-linkcompact-row{
  display:grid !important;
  grid-template-columns:1fr !important;
  row-gap:10px !important;
  column-gap:0 !important;
  align-items:stretch !important;
  margin-top:8px !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-linkcompact-copy{
  width:100% !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-linkcompact-row > .fi-minithumb{
  width:100% !important;
  max-width:100% !important;
  justify-self:stretch !important;
  align-self:stretch !important;
  aspect-ratio:16 / 9 !important;
  border-radius:24px !important;
  margin-top:2px !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-minithumb img,
body.is-post .feeditem.feeditem-urlcompact .fi-minithumb video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-minithumb-site{
  left:12px !important;
  right:12px !important;
  bottom:12px !important;
  width:auto !important;
  max-width:calc(100% - 24px) !important;
  padding:8px 12px !important;
  font-size:13px !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-link-minimal-title{
  font-size:17px !important;
  line-height:1.22 !important;
  -webkit-line-clamp:2 !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-link-minimal-desc{
  font-size:15.5px !important;
  line-height:1.34 !important;
  -webkit-line-clamp:4 !important;
}
body.is-post .feeditem.feeditem-urlcompact .fi-primary-url{
  font-size:15.5px !important;
  margin-top:6px !important;
}
body.is-post .feeditem .fi-media:not(.fi-media-grid){
  display:block !important;
  background:#fff !important;
  max-height:none !important;
  border-radius:24px !important;
}
body.is-post .feeditem .fi-media:not(.fi-media-grid) img,
body.is-post .feeditem .fi-media:not(.fi-media-grid) video{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  display:block !important;
}
body.is-post .feeditem .fi-media-grid{
  border-radius:24px !important;
  overflow:hidden !important;
}
body.is-post .feeditem .fi-link{
  flex-direction:column !important;
  align-items:stretch !important;
  border-radius:22px !important;
}
body.is-post .feeditem .fi-link .fi-thumb{
  width:100% !important;
  height:auto !important;
  aspect-ratio:16 / 9 !important;
  border-radius:18px !important;
}
body.is-post .feeditem .fi-link .fi-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* URL preview site badge: size the dark background to the label text instead of spanning the whole thumbnail width. */
.feeditem .fi-minithumb-site,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb-site,
.feeditem.feeditem-urlmediacompact .fi-minithumb-site,
.feeditem.feeditem-urlcompact .fi-minithumb-site,
body.is-post .feeditem.feeditem-urlcompact .fi-minithumb-site{
  right:auto !important;
  width:max-content !important;
  max-width:calc(100% - 16px) !important;
  display:inline-flex !important;
  align-items:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.is-post .feeditem.feeditem-urlcompact .fi-minithumb-site{
  max-width:calc(100% - 24px) !important;
}

/* Minimal feed refinement: small inline avatar, full-width content, URL always at the bottom. */
body.feed-view-minimal .feeditem.feeditem-minimal .fi-shell{
  grid-template-columns:minmax(0,1fr) !important;
  column-gap:0 !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-avatarcol{
  display:none !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-contentcol{
  grid-column:1 !important;
  min-width:0 !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head{
  align-items:center !important;
  gap:8px !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head-avatarlink{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:999px;
  flex:0 0 32px;
  text-decoration:none;
  overflow:hidden;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head-avatar{
  width:32px !important;
  height:32px !important;
  border-radius:999px !important;
  object-fit:cover !important;
  display:block !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-body-minimal{
  margin-top:7px !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-primary-url-minimal{
  display:block !important;
  margin-top:5px !important;
  color:#3b82f6 !important;
  font-size:14px !important;
  line-height:1.22 !important;
  font-weight:500 !important;
  text-decoration:none !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-primary-url-minimal:hover,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-primary-url-minimal:focus-visible{
  color:#2563eb !important;
  text-decoration:none !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-main-minimal > .fi-primary-url-minimal:last-child{
  margin-bottom:0 !important;
}
@media (max-width:640px){
  body.feed-view-minimal .feeditem.feeditem-minimal .fi-body-minimal{
    grid-template-columns:minmax(0,1fr) 112px;
    column-gap:12px !important;
  }
}
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-primary-url-minimal{
  color:#60a5fa !important;
}

/* Minimal feed: posts without thumbnail/media/link image must use the full row width. */
body.feed-view-minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-body-minimal{
  grid-template-columns:minmax(0,1fr) !important;
  column-gap:0 !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-main-minimal{
  grid-column:1 / -1 !important;
  min-height:0 !important;
  width:100% !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-title,
body.feed-view-minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-text-minimal,
body.feed-view-minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-text-body,
body.feed-view-minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-link-minimal{
  max-width:100% !important;
}


/* New-user onboarding after registration */
.onboarding-page{
  width:min(760px,100%);
  margin:0 auto;
  padding:18px 12px 90px;
}
.onboarding-card{
  background:var(--card,#fff);
  border:1px solid var(--border,#e5e7eb);
  border-radius:28px;
  padding:22px;
  box-shadow:0 16px 40px rgba(15,23,42,.06);
}
.onboarding-hero{padding:6px 2px 14px}
.onboarding-kicker{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#2563eb;
}
.onboarding-hero h1{
  margin:5px 0 8px;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.03em;
}
.onboarding-hero p,
.onboarding-section-head p,
.onboarding-avatar-copy p{
  margin:0;
  color:var(--muted,#6b7280);
  line-height:1.35;
}
.onboarding-section{
  border:1px solid var(--border,#e5e7eb);
  border-radius:24px;
  padding:16px;
  margin-top:14px;
  background:rgba(248,250,252,.72);
}
.onboarding-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.onboarding-section-head h2{margin:0 0 4px;font-size:19px;line-height:1.15;letter-spacing:-.01em}
.onboarding-avatar-row{display:flex;align-items:center;gap:16px}
.onboarding-avatar-preview{
  width:92px;
  height:92px;
  border-radius:999px;
  overflow:hidden;
  flex:0 0 auto;
  background:#eef2ff;
  border:4px solid #fff;
  box-shadow:0 10px 28px rgba(15,23,42,.14);
}
.onboarding-avatar-preview img{width:100%;height:100%;object-fit:cover;display:block}
.onboarding-avatar-copy{display:flex;flex-direction:column;gap:8px;min-width:0}
.onboarding-file-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:10px 15px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.onboarding-file-btn input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;pointer-events:none}
.onboarding-search-wrap{margin-bottom:12px}
.onboarding-cat-search{width:100%}
.onboarding-cat-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.onboarding-cat-chip{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 13px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.onboarding-cat-chip input{position:absolute;opacity:0;pointer-events:none}
.onboarding-cat-chip:hover{border-color:#bfdbfe;box-shadow:0 8px 24px rgba(37,99,235,.08)}
.onboarding-cat-chip.is-selected{
  background:#eff6ff;
  border-color:#60a5fa;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.18);
}
.onboarding-cat-main{font-weight:900;color:var(--text,#111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.onboarding-cat-meta{font-size:12px;color:var(--muted,#6b7280);font-weight:700}
.onboarding-no-results,.onboarding-empty{padding:14px;color:var(--muted,#6b7280);border:1px dashed var(--border,#e5e7eb);border-radius:16px;background:#fff}
.onboarding-actions{display:flex;gap:10px;margin-top:16px}
.onboarding-actions .btn{flex:1}
:root[data-theme="dark"] .onboarding-card,
:root[data-theme="dark"] .onboarding-cat-chip,
:root[data-theme="dark"] .onboarding-no-results,
:root[data-theme="dark"] .onboarding-empty{background:rgba(15,23,42,.92)}
:root[data-theme="dark"] .onboarding-section{background:rgba(15,23,42,.55)}
:root[data-theme="dark"] .onboarding-cat-chip.is-selected{background:rgba(37,99,235,.20);border-color:#3b82f6}
@media (max-width:640px){
  .onboarding-page{padding:12px 12px 84px}
  .onboarding-card{border-radius:0;border-left:0;border-right:0;padding:20px 14px;margin-left:-12px;margin-right:-12px;box-shadow:none}
  .onboarding-hero h1{font-size:27px}
  .onboarding-section{border-radius:22px;padding:14px}
  .onboarding-avatar-row{align-items:flex-start}
  .onboarding-avatar-preview{width:78px;height:78px}
  .onboarding-cat-grid{grid-template-columns:1fr}
}

/* Onboarding v2: cleaner avatar + category follow flow after registration. */
.onboarding-v2{
  padding:18px 14px 96px;
  max-width:720px;
  margin:0 auto;
}
.onboarding-v2-card{
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  background:transparent !important;
}
.onboarding-v2-hero{
  padding:10px 4px 18px;
}
.onboarding-v2-hero h1{
  margin:4px 0 8px;
  font-size:clamp(28px, 7vw, 40px);
  line-height:1.06;
  font-weight:900;
  letter-spacing:-.04em;
}
.onboarding-v2-hero p{
  margin:0;
  color:var(--muted,#667085);
  font-size:16px;
  line-height:1.42;
}
.onboarding-v2-panel{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  padding:16px;
  margin:12px 0;
  box-shadow:0 8px 28px rgba(15,23,42,.04);
}
.onboarding-v2-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.onboarding-v2-panel-head h2{
  margin:0 0 4px;
  font-size:20px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.02em;
}
.onboarding-v2-panel-head p{
  margin:0;
  color:var(--muted,#667085);
  font-size:14px;
  line-height:1.35;
}
.onboarding-step-badge,
.onboarding-selected-count{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:#eef6ff;
  border:1px solid #dbeafe;
  color:#2563eb;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.onboarding-avatar-compact{
  display:flex;
  align-items:center;
  gap:14px;
}
.onboarding-v2 .onboarding-avatar-preview{
  width:76px;
  height:76px;
  border-radius:999px;
  padding:4px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 24px rgba(15,23,42,.10);
  overflow:hidden;
  flex:0 0 auto;
}
.onboarding-v2 .onboarding-avatar-preview img{
  border-radius:999px;
}
.onboarding-file-btn-v2{
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.onboarding-avatar-copy small{
  display:block;
  margin-top:7px;
  color:var(--muted,#667085);
  font-size:13px;
  font-weight:700;
}
.onboarding-search-v2{
  margin:2px 0 12px;
}
.onboarding-search-v2 .onboarding-cat-search{
  width:100%;
  height:50px;
  border-radius:18px;
  padding:0 16px;
  font-size:16px;
  background:#f9fafb;
}
.onboarding-country-context{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:-2px 0 12px;
  padding:9px 11px;
  border-radius:16px;
  background:#f8fafc;
  color:#64748b;
  font-size:13px;
  font-weight:800;
}
.onboarding-country-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  font-size:18px;
  line-height:1;
}
.onboarding-country-fallback{
  color:#94a3b8;
}
.onboarding-section-label{
  margin:0 0 8px;
  color:#64748b;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.onboarding-cat-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.onboarding-cat-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#fff;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.onboarding-cat-row input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.onboarding-cat-row:hover{
  border-color:#bfdbfe;
  box-shadow:0 10px 24px rgba(37,99,235,.06);
}
.onboarding-cat-row.is-selected{
  border-color:#60a5fa;
  background:#eff6ff;
}
.onboarding-cat-text{
  display:block;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.onboarding-cat-text strong{
  display:block;
  color:var(--text,#111827);
  font-size:16px;
  line-height:1.2;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.onboarding-cat-text span{
  display:block;
  margin-top:4px;
  color:var(--muted,#667085);
  font-size:13px;
  line-height:1.2;
  font-weight:700;
}
.onboarding-follow-btn{
  height:38px;
  min-width:84px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid #2563eb;
  background:#2563eb;
  color:#fff;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.onboarding-cat-row.is-selected .onboarding-follow-btn{
  background:#dbeafe;
  border-color:#93c5fd;
  color:#1d4ed8;
}
.onboarding-follow-btn:active{
  transform:scale(.98);
}
.onboarding-actions-v2{
  position:sticky;
  bottom:calc(env(safe-area-inset-bottom) + 68px);
  z-index:20;
  display:flex;
  gap:10px;
  margin-top:14px;
  padding:10px;
  border-radius:22px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.08);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(15,23,42,.10);
}
.onboarding-actions-v2 .btn{
  flex:1;
  min-height:48px;
  border-radius:16px;
}
.onboarding-v2 .onboarding-no-results,
.onboarding-v2 .onboarding-empty{
  padding:14px;
  color:var(--muted,#667085);
  border:1px dashed rgba(15,23,42,.16);
  border-radius:18px;
  background:#fff;
  font-weight:800;
}
:root[data-theme="dark"] .onboarding-v2-panel,
:root[data-theme="dark"] .onboarding-cat-row,
:root[data-theme="dark"] .onboarding-v2 .onboarding-no-results,
:root[data-theme="dark"] .onboarding-v2 .onboarding-empty{
  background:rgba(15,23,42,.88);
  border-color:rgba(148,163,184,.18);
}
:root[data-theme="dark"] .onboarding-cat-row.is-selected{
  background:rgba(37,99,235,.18);
  border-color:rgba(96,165,250,.65);
}
:root[data-theme="dark"] .onboarding-actions-v2{
  background:rgba(15,23,42,.88);
  border-color:rgba(148,163,184,.18);
}
:root[data-theme="dark"] .onboarding-search-v2 .onboarding-cat-search{
  background:rgba(15,23,42,.92);
}
@media (max-width:520px){
  .onboarding-v2{padding:14px 14px 104px;}
  .onboarding-v2-panel{border-radius:22px;padding:14px;}
  .onboarding-v2-panel-head{gap:8px;}
  .onboarding-selected-count{font-size:11px;padding:5px 8px;}
  .onboarding-cat-row{padding:11px;border-radius:17px;}
  .onboarding-follow-btn{min-width:78px;padding:0 12px;height:36px;font-size:13px;}
  .onboarding-actions-v2{bottom:calc(env(safe-area-inset-bottom) + 78px);}
}

/* Onboarding final cleanup: minimal, non-overlapping, focused registration finish screen. */
body.is-onboarding .container{
  padding-top:calc(var(--topbar-h,64px) + env(safe-area-inset-top) + 18px) !important;
  padding-bottom:0 !important;
}
body.is-onboarding .bottomnav,
body.is-onboarding .fab-compose,
body.is-onboarding .pwa-install,
body.is-onboarding .desktop-left,
body.is-onboarding .desktop-right,
body.is-onboarding .right-sidebar,
body.is-onboarding .left-sidebar{
  display:none !important;
}
body.is-onboarding .digg-shell,
body.is-onboarding .digg-main{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  margin:0 auto !important;
}
body.is-onboarding .onboarding-page.onboarding-v2{
  max-width:680px;
  padding:14px 18px calc(132px + env(safe-area-inset-bottom)) !important;
  margin:0 auto;
}
body.is-onboarding .onboarding-v2-card{
  margin:0 !important;
}
body.is-onboarding .onboarding-v2-hero{
  padding:4px 2px 14px !important;
}
body.is-onboarding .onboarding-v2-hero .onboarding-kicker{
  color:#2563eb;
  font-size:12px;
  letter-spacing:.08em;
  font-weight:900;
  text-transform:uppercase;
}
body.is-onboarding .onboarding-v2-hero h1{
  margin:5px 0 6px !important;
  font-size:clamp(28px, 6vw, 36px) !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
}
body.is-onboarding .onboarding-v2-hero p{
  max-width:540px;
  font-size:15px !important;
  line-height:1.38 !important;
}
body.is-onboarding .onboarding-v2-panel{
  border-radius:22px !important;
  padding:16px !important;
  margin:10px 0 !important;
  box-shadow:none !important;
  border-color:#e7eaf0 !important;
  background:#fff !important;
}
body.is-onboarding .onboarding-v2-panel-head{
  margin-bottom:12px !important;
  align-items:center !important;
}
body.is-onboarding .onboarding-v2-panel-head h2{
  font-size:20px !important;
  line-height:1.12 !important;
}
body.is-onboarding .onboarding-v2-panel-head p{
  font-size:14px !important;
  line-height:1.35 !important;
}
body.is-onboarding .onboarding-step-badge,
body.is-onboarding .onboarding-selected-count{
  padding:6px 10px !important;
  font-size:12px !important;
  background:#f4f8ff !important;
  border-color:#dbeafe !important;
  color:#2563eb !important;
}
body.is-onboarding .onboarding-avatar-compact{
  gap:14px !important;
  padding-top:2px;
}
body.is-onboarding .onboarding-v2 .onboarding-avatar-preview{
  width:64px !important;
  height:64px !important;
  box-shadow:none !important;
  border-color:#e5e7eb !important;
}
body.is-onboarding .onboarding-file-btn-v2{
  min-height:40px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:#111827 !important;
  color:#fff !important;
  font-size:14px !important;
}
body.is-onboarding .onboarding-avatar-copy small{
  margin-top:6px !important;
  font-size:12.5px !important;
}
body.is-onboarding .onboarding-search-v2{
  margin:0 0 12px !important;
}
body.is-onboarding .onboarding-search-v2 .onboarding-cat-search{
  height:46px !important;
  border-radius:16px !important;
  background:#fff !important;
  border:1px solid #e2e8f0 !important;
  box-shadow:none !important;
  font-size:15px !important;
}
body.is-onboarding .onboarding-section-label{
  margin:0 0 8px !important;
  font-size:11px !important;
  letter-spacing:.08em !important;
}
body.is-onboarding .onboarding-cat-list{
  gap:8px !important;
}
body.is-onboarding .onboarding-cat-row{
  min-height:64px;
  padding:10px 10px 10px 14px !important;
  border-radius:18px !important;
  border-color:#e7eaf0 !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.is-onboarding .onboarding-cat-row[hidden]{
  display:none !important;
}
body.is-onboarding .onboarding-cat-row.is-selected{
  background:#f7fbff !important;
  border-color:#93c5fd !important;
}
body.is-onboarding .onboarding-cat-text strong{
  font-size:16px !important;
  font-weight:900 !important;
}
body.is-onboarding .onboarding-cat-text span{
  margin-top:4px !important;
  font-size:12.5px !important;
  color:#64748b !important;
}
body.is-onboarding .onboarding-follow-btn{
  height:38px !important;
  min-width:86px !important;
  padding:0 15px !important;
  border-radius:999px !important;
  background:#2563eb !important;
  border-color:#2563eb !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
}
body.is-onboarding .onboarding-cat-row.is-selected .onboarding-follow-btn{
  background:#111827 !important;
  border-color:#111827 !important;
  color:#fff !important;
}
body.is-onboarding .onboarding-no-results,
body.is-onboarding .onboarding-empty{
  padding:16px !important;
  border-radius:18px !important;
  background:#f8fafc !important;
  border-color:#e2e8f0 !important;
  color:#64748b !important;
  font-size:14px !important;
}
body.is-onboarding .onboarding-actions-v2{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  bottom:calc(env(safe-area-inset-bottom) + 12px) !important;
  transform:translateX(-50%) !important;
  width:min(680px, calc(100vw - 28px)) !important;
  margin:0 !important;
  padding:8px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid #e7eaf0 !important;
  box-shadow:0 12px 36px rgba(15,23,42,.14) !important;
  z-index:80 !important;
}
body.is-onboarding .onboarding-actions-v2 .btn{
  min-height:46px !important;
  border-radius:16px !important;
  font-size:15px !important;
  font-weight:900 !important;
}
body.is-onboarding .onboarding-actions-v2 .onboarding-skip{
  background:#fff !important;
  color:#111827 !important;
  border:1px solid #e5e7eb !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-v2-panel,
:root[data-theme="dark"] body.is-onboarding .onboarding-cat-row,
:root[data-theme="dark"] body.is-onboarding .onboarding-search-v2 .onboarding-cat-search,
:root[data-theme="dark"] body.is-onboarding .onboarding-actions-v2{
  background:#111827 !important;
  border-color:rgba(148,163,184,.22) !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-actions-v2 .onboarding-skip{
  background:#0f172a !important;
  color:#f8fafc !important;
  border-color:rgba(148,163,184,.22) !important;
}
@media (max-width:520px){
  body.is-onboarding .container{
    padding-top:calc(var(--topbar-h,64px) + env(safe-area-inset-top) + 14px) !important;
  }
  body.is-onboarding .onboarding-page.onboarding-v2{
    padding:10px 14px calc(126px + env(safe-area-inset-bottom)) !important;
  }
  body.is-onboarding .onboarding-v2-panel{
    border-radius:20px !important;
    padding:14px !important;
  }
  body.is-onboarding .onboarding-v2-panel-head{
    align-items:flex-start !important;
  }
  body.is-onboarding .onboarding-v2 .onboarding-avatar-preview{
    width:58px !important;
    height:58px !important;
  }
  body.is-onboarding .onboarding-file-btn-v2{
    min-height:38px !important;
    padding:0 14px !important;
  }
  body.is-onboarding .onboarding-cat-row{
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  body.is-onboarding .onboarding-follow-btn{
    min-width:78px !important;
    padding:0 12px !important;
  }
}

/* Onboarding final minimal cleanup: flat, compact, no heavy cards/borders. */
body.is-onboarding .container{
  padding-top:calc(var(--topbar-h,64px) + env(safe-area-inset-top) + 8px) !important;
}
body.is-onboarding .digg-shell,
body.is-onboarding .digg-main{
  max-width:620px !important;
}
body.is-onboarding .onboarding-page.onboarding-v2{
  max-width:620px !important;
  padding:0 18px calc(88px + env(safe-area-inset-bottom)) !important;
}
body.is-onboarding .onboarding-v2-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
}
body.is-onboarding .onboarding-v2-hero{
  padding:4px 0 18px !important;
}
body.is-onboarding .onboarding-v2-hero .onboarding-kicker{
  display:none !important;
}
body.is-onboarding .onboarding-v2-hero h1{
  margin:0 0 6px !important;
  font-size:30px !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
}
body.is-onboarding .onboarding-v2-hero p{
  margin:0 !important;
  font-size:15px !important;
  line-height:1.38 !important;
  color:#6b7280 !important;
}
body.is-onboarding .onboarding-v2-panel{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 0 22px !important;
  margin:0 0 22px !important;
  border-bottom:1px solid #f1f5f9 !important;
}
body.is-onboarding .onboarding-v2-panel:last-of-type{
  border-bottom:0 !important;
  margin-bottom:0 !important;
}
body.is-onboarding .onboarding-v2-panel-head{
  margin:0 0 14px !important;
  gap:10px !important;
  align-items:flex-start !important;
}
body.is-onboarding .onboarding-v2-panel-head h2{
  margin:0 0 4px !important;
  font-size:20px !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
}
body.is-onboarding .onboarding-v2-panel-head p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.35 !important;
  color:#6b7280 !important;
}
body.is-onboarding .onboarding-step-badge,
body.is-onboarding .onboarding-selected-count{
  border:0 !important;
  background:#f3f7ff !important;
  color:#2563eb !important;
  padding:5px 9px !important;
  border-radius:999px !important;
  font-size:12px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
body.is-onboarding .onboarding-avatar-compact{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 !important;
}
body.is-onboarding .onboarding-v2 .onboarding-avatar-preview{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
  border:0 !important;
  box-shadow:none !important;
  background:#eef2ff !important;
}
body.is-onboarding .onboarding-avatar-copy{
  gap:5px !important;
}
body.is-onboarding .onboarding-file-btn-v2{
  width:max-content !important;
  min-height:36px !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#111827 !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:800 !important;
}
body.is-onboarding .onboarding-avatar-copy small{
  margin:0 !important;
  color:#6b7280 !important;
  font-size:12.5px !important;
  line-height:1.3 !important;
}
body.is-onboarding .onboarding-search-v2{
  margin:0 0 12px !important;
}
body.is-onboarding .onboarding-search-v2 .onboarding-cat-search{
  height:44px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#f6f7f9 !important;
  box-shadow:none !important;
  padding:0 14px !important;
  font-size:15px !important;
}
body.is-onboarding .onboarding-search-v2 .onboarding-cat-search:focus{
  background:#fff !important;
  outline:2px solid rgba(37,99,235,.18) !important;
  outline-offset:0 !important;
}
body.is-onboarding .onboarding-country-context{
  margin:-2px 0 12px !important;
  padding:8px 10px !important;
  border-radius:14px !important;
  background:#f6f7f9 !important;
  color:#6b7280 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}
body.is-onboarding .onboarding-country-flag{
  width:22px !important;
  height:22px !important;
  font-size:17px !important;
}
body.is-onboarding .onboarding-section-label{
  margin:0 0 4px !important;
  color:#94a3b8 !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
}
body.is-onboarding .onboarding-cat-list{
  gap:0 !important;
}
body.is-onboarding .onboarding-cat-row{
  min-height:58px !important;
  padding:9px 0 !important;
  border:0 !important;
  border-bottom:1px solid #f1f5f9 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:12px !important;
}
body.is-onboarding .onboarding-cat-row:hover,
body.is-onboarding .onboarding-cat-row.is-selected{
  background:transparent !important;
  border-color:#f1f5f9 !important;
  box-shadow:none !important;
}
body.is-onboarding .onboarding-cat-text{
  padding:0 !important;
}
body.is-onboarding .onboarding-cat-text strong{
  font-size:16px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
}
body.is-onboarding .onboarding-cat-text span{
  margin-top:3px !important;
  font-size:12.5px !important;
  line-height:1.25 !important;
  color:#7a8493 !important;
  font-weight:650 !important;
}
body.is-onboarding .onboarding-follow-btn{
  height:34px !important;
  min-width:74px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  border:0 !important;
  background:#2563eb !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:850 !important;
  box-shadow:none !important;
}
body.is-onboarding .onboarding-cat-row.is-selected .onboarding-follow-btn{
  background:#e8f0ff !important;
  color:#2563eb !important;
}
body.is-onboarding .onboarding-no-results,
body.is-onboarding .onboarding-empty{
  padding:14px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#7a8493 !important;
  font-size:14px !important;
}
body.is-onboarding .onboarding-actions-v2{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  transform:none !important;
  width:100% !important;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom)) !important;
  margin:0 !important;
  border-radius:0 !important;
  border:0 !important;
  border-top:1px solid #eef2f7 !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:none !important;
  backdrop-filter:blur(14px) !important;
}
body.is-onboarding .onboarding-actions-v2 .btn{
  min-height:44px !important;
  border-radius:14px !important;
  font-size:15px !important;
  font-weight:850 !important;
  box-shadow:none !important;
}
body.is-onboarding .onboarding-actions-v2 .onboarding-skip{
  background:#fff !important;
  color:#111827 !important;
  border:1px solid #eef2f7 !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-v2-card,
:root[data-theme="dark"] body.is-onboarding .onboarding-v2-panel,
:root[data-theme="dark"] body.is-onboarding .onboarding-cat-row,
:root[data-theme="dark"] body.is-onboarding .onboarding-no-results,
:root[data-theme="dark"] body.is-onboarding .onboarding-empty{
  background:transparent !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-v2-panel,
:root[data-theme="dark"] body.is-onboarding .onboarding-cat-row,
:root[data-theme="dark"] body.is-onboarding .onboarding-actions-v2{
  border-color:rgba(148,163,184,.14) !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-search-v2 .onboarding-cat-search,
:root[data-theme="dark"] body.is-onboarding .onboarding-actions-v2{
  background:rgba(15,23,42,.92) !important;
}
@media (max-width:520px){
  body.is-onboarding .onboarding-page.onboarding-v2{
    padding:0 16px calc(86px + env(safe-area-inset-bottom)) !important;
  }
  body.is-onboarding .onboarding-v2-hero h1{
    font-size:28px !important;
  }
  body.is-onboarding .onboarding-v2-panel{
    padding-bottom:20px !important;
    margin-bottom:20px !important;
  }
  body.is-onboarding .onboarding-v2-panel-head{
    align-items:flex-start !important;
  }
  body.is-onboarding .onboarding-avatar-compact{
    gap:12px !important;
  }
  body.is-onboarding .onboarding-follow-btn{
    min-width:70px !important;
    padding:0 12px !important;
  }
}


/* Admin font setting fix: the minimal feed body text must use the same post text size
   variable as the normal feed and single post. Previously it was hardcoded to 14px,
   so changing "Post text size" in admin affected single posts but not minimal feed cards. */
body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-text-body{
  font-size:var(--fs-post-text,16px) !important;
  line-height:var(--font-text-line,1.35) !important;
}
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal,
:root[data-theme="dark"] body.feed-view-minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-text-body{
  font-size:var(--fs-post-text,16px) !important;
  line-height:var(--font-text-line,1.35) !important;
}


/* Minimal feed sort control: replaces the old Home / Top / Trending / Fresh tab row. */
.feed-sortbar{
  position:sticky;
  top:calc(56px + env(safe-area-inset-top));
  z-index:40;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(17,24,39,.06);
  display:flex;
  justify-content:flex-end;
  padding:8px var(--edgePad) 7px;
  margin:0 calc(-1 * var(--edgePad));
}
.feed-sort-menu{position:relative;}
.feed-sort-menu > summary{list-style:none;}
.feed-sort-menu > summary::-webkit-details-marker{display:none;}
.feed-sort-trigger{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:7px 12px;
  border:1px solid rgba(17,24,39,.09);
  border-radius:999px;
  background:rgba(247,248,250,.92);
  color:#111827;
  cursor:pointer;
  user-select:none;
}
.feed-sort-icon svg{width:16px;height:16px;display:block;fill:currentColor;opacity:.78;}
.feed-sort-copy{display:flex;align-items:baseline;gap:6px;line-height:1;}
.feed-sort-kicker{font-size:12px;font-weight:700;color:#7b8390;}
.feed-sort-current{font-size:14px;font-weight:900;color:#111;}
.feed-sort-caret{font-size:16px;font-weight:900;color:#7b8390;margin-left:1px;}
.feed-sort-sheet{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:min(230px, calc(100vw - 28px));
  padding:7px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.14);
  z-index:80;
}
.feed-sort-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border-radius:14px;
  color:#111827;
  text-decoration:none;
}
.feed-sort-option:hover,.feed-sort-option:focus-visible{background:#f4f6f8;text-decoration:none;}
.feed-sort-option.is-active{background:#eef4ff;color:#1d4ed8;}
.feed-sort-option strong{display:block;font-size:14px;line-height:1.15;}
.feed-sort-option small{display:block;margin-top:2px;font-size:12px;line-height:1.15;color:#7b8390;}
.feed-sort-option b{font-size:15px;}
:root[data-theme="dark"] .feed-sortbar{background:rgba(10,12,16,.90);border-bottom-color:rgba(255,255,255,.08);}
:root[data-theme="dark"] .feed-sort-trigger{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);color:#f8fafc;}
:root[data-theme="dark"] .feed-sort-current{color:#fff;}
:root[data-theme="dark"] .feed-sort-sheet{background:#111827;border-color:rgba(255,255,255,.10);}
:root[data-theme="dark"] .feed-sort-option{color:#f8fafc;}
:root[data-theme="dark"] .feed-sort-option:hover,:root[data-theme="dark"] .feed-sort-option:focus-visible{background:rgba(255,255,255,.08);}
:root[data-theme="dark"] .feed-sort-option.is-active{background:rgba(37,99,235,.24);color:#bfdbfe;}
@media (max-width:520px){
  .feed-sortbar{padding-top:7px;padding-bottom:6px;}
  .feed-sort-trigger{min-height:36px;padding:7px 11px;}
  .feed-sort-kicker{display:none;}
}
.admin-algo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0 18px;}
.admin-algo-grid>div{padding:12px;border:1px solid rgba(17,24,39,.08);border-radius:14px;background:rgba(247,248,250,.62);}
.admin-algo-grid strong{display:block;margin-bottom:10px;}
@media (max-width:760px){.admin-algo-grid{grid-template-columns:1fr;}}


/* Feed top row: followed category chips sit in the empty area left of the sort button. */
.feed-sortbar{
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  overflow:visible !important;
}
.feed-sortbar .feed-sort-chips{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 !important;
  padding:0 !important;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.feed-sortbar .feed-sort-chips::-webkit-scrollbar{display:none;}
.feed-sortbar .feed-sort-chips .chip{
  flex:0 0 auto;
  height:34px;
  padding:0 13px;
  font-size:15px;
}
.feed-sortbar .feed-sort-menu{
  flex:0 0 auto;
  margin-left:auto;
}
@media (max-width:520px){
  .feed-sortbar{gap:8px !important;}
  .feed-sortbar .feed-sort-chips .chip{height:32px;padding:0 12px;font-size:14.5px;}
}

/* Sidebar useful content: compact recommendation blocks for categories and posts. */
.drawer-smart-section{
  padding-top:8px;
}
.drawer-smart-list{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.drawer-smart-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  padding:9px 10px;
  border-radius:14px;
  color:inherit;
  text-decoration:none;
  background:transparent;
}
.drawer-smart-row:hover{
  background:rgba(0,0,0,.035);
}
.drawer-smart-main{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  color:inherit;
  text-decoration:none;
  flex:1;
}
.drawer-smart-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  line-height:1.2;
  font-weight:800;
  color:#111827;
}
.drawer-smart-sub{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  line-height:1.25;
  font-weight:650;
  color:#6b7280;
}
.drawer-smart-count{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:#f3f4f6;
  color:#4b5563;
  font-size:12px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
}
.drawer-smart-list--compact .drawer-smart-row{
  padding-top:8px;
  padding-bottom:8px;
}
.drawer-follow-btn--mini{
  min-width:auto !important;
  min-height:30px !important;
  padding:6px 11px !important;
  border-color:#2563eb !important;
  background:#2563eb !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:12px !important;
  box-shadow:none !important;
}
.drawer-follow-btn--mini .drawer-follow-btn__label{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.drawer-follow-btn--mini:active{
  transform:scale(.98);
}
:root[data-theme="dark"] .drawer-smart-row:hover{
  background:rgba(255,255,255,.06);
}
:root[data-theme="dark"] .drawer-smart-name{
  color:rgba(245,248,252,.96);
}
:root[data-theme="dark"] .drawer-smart-sub{
  color:rgba(224,231,240,.66);
}
:root[data-theme="dark"] .drawer-smart-count{
  background:rgba(255,255,255,.08);
  color:rgba(245,248,252,.82);
}
:root[data-theme="dark"] .drawer-follow-btn--mini{
  border-color:#3b82f6 !important;
  background:#3b82f6 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Drawer refinement: content-first sidebar. Navigation is removed from the drawer;
   account actions sit at the bottom as secondary actions. */
.drawer-panel{
  display:flex;
  flex-direction:column;
}
.drawer-account-bottom{
  margin-top:auto;
  padding-top:14px;
  padding-bottom:max(18px, env(safe-area-inset-bottom));
}
.drawer-account-bottom .drawer-title{
  padding-top:0;
}
.drawer-account-bottom .drawer-item,
.drawer-account-bottom .drawer-logout__btn{
  min-height:46px;
}
.drawer-account-bottom .drawer-logout__btn .drawer-lbl{
  text-transform:none;
}
:root[data-theme="dark"] .drawer-account-bottom{
  border-top:1px solid rgba(255,255,255,.07);
}

/* Mobile drawer must sit above bottom navigation and remain fully scrollable to Logout. */
.drawer{
  z-index:2147483000 !important;
}
.drawer.is-open .drawer-panel{
  max-height:100dvh !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  padding-bottom:max(96px, calc(env(safe-area-inset-bottom) + 72px)) !important;
}
.drawer-account-bottom{
  margin-top:20px !important;
  padding-bottom:max(24px, env(safe-area-inset-bottom)) !important;
}
body.drawer-open .bottomnav,
body.drawer-open .fab-compose,
body.drawer-open .comment-composer{
  pointer-events:none !important;
}

/* Admin catalog restructure */
.admin-shell--catalog .admin-nav--areas .admin-nav__item {
  min-height: 46px;
}
.admin-page-header--catalog .admin-page-header__desc {
  max-width: 820px;
}
.admin-context-nav--catalog {
  gap: 8px;
  padding: 10px;
}
.admin-context-nav--catalog .admin-context-nav__item {
  min-height: 42px;
}
.admin-mini-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  padding: 0 7px;
  font-size: 12px;
  font-weight: 800;
  background: #ef4444;
  color: #fff;
  margin-left: 2px;
}
.admin-module-intro {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 16px;
  padding: 18px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,250,252,.94));
  box-shadow: 0 14px 40px rgba(15, 23, 42, .06);
}
.admin-module-intro__icon,
.admin-catalog-card__icon,
.admin-area-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: #111827;
  color: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .18);
}
.admin-module-intro__eyebrow {
  color: #6b7280;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  margin-bottom: 4px;
}
.admin-module-intro h2 {
  margin: 0;
  font-size: clamp(20px, 2.4vw, 30px);
  letter-spacing: -.04em;
}
.admin-module-intro p {
  margin: 6px 0 0;
  color: #6b7280;
  line-height: 1.55;
  max-width: 860px;
}
.admin-area-overview {
  display: grid;
  gap: 16px;
}
.admin-area-overview__hero {
  position: relative;
  overflow: hidden;
  padding: 24px;
}
.admin-area-overview__hero::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -90px;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(17,24,39,.12), rgba(17,24,39,0) 70%);
  pointer-events: none;
}
.admin-area-overview__hero h2 {
  margin: 8px 0 6px;
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.admin-area-overview__hero p {
  margin: 0;
  color: #6b7280;
  max-width: 880px;
  line-height: 1.6;
}
.admin-catalog-grid,
.admin-area-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.admin-catalog-card,
.admin-area-card,
.admin-priority-link {
  text-decoration: none;
  color: inherit;
}
.admin-catalog-card {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 116px;
  padding: 16px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 34px rgba(15, 23, 42, .055);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.admin-catalog-card:hover,
.admin-area-card:hover,
.admin-priority-link:hover {
  transform: translateY(-2px);
  border-color: rgba(17, 24, 39, .18);
  box-shadow: 0 18px 48px rgba(15, 23, 42, .09);
}
.admin-catalog-card.is-alert {
  border-color: rgba(239, 68, 68, .28);
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(254,242,242,.92));
}
.admin-catalog-card__body {
  display: grid;
  gap: 5px;
  min-width: 0;
  flex: 1 1 auto;
}
.admin-catalog-card__body strong,
.admin-area-card strong,
.admin-priority-link strong {
  color: #111827;
  font-weight: 900;
  letter-spacing: -.02em;
}
.admin-catalog-card__body small,
.admin-area-card small,
.admin-priority-link small,
.admin-area-card em {
  color: #6b7280;
  font-style: normal;
  line-height: 1.45;
}
.admin-catalog-card__metric {
  display: grid;
  justify-items: end;
  gap: 2px;
  min-width: 70px;
}
.admin-catalog-card__metric b {
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.04em;
}
.admin-catalog-card__metric small {
  color: #6b7280;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.admin-area-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  min-height: 188px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 22px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 34px rgba(15, 23, 42, .055);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.admin-area-card__icon {
  width: 40px;
  height: 40px;
  border-radius: 15px;
}
.admin-area-card em {
  display: block;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid rgba(17, 24, 39, .08);
  font-size: 12px;
  font-weight: 700;
}
.admin-priority-list {
  display: grid;
  gap: 9px;
  margin-top: 14px;
}
.admin-priority-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 18px;
  background: rgba(249,250,251,.92);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.admin-priority-link span {
  display: grid;
  gap: 3px;
}
.admin-priority-link b {
  min-width: 36px;
  height: 32px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #111827;
  color: #fff;
  font-size: 14px;
}
.admin-shortcut-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-shortcut-pill {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(17, 24, 39, .08);
  background: #fff;
  color: #111827;
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .05);
}
.admin-dashboard-hero--catalog .admin-dashboard-hero__title {
  max-width: 920px;
}
@media (max-width: 900px) {
  .admin-catalog-grid,
  .admin-area-card-grid {
    grid-template-columns: 1fr;
  }
  .admin-module-intro {
    padding: 15px;
    border-radius: 20px;
  }
  .admin-catalog-card {
    align-items: flex-start;
  }
  .admin-catalog-card__metric {
    min-width: 54px;
  }
}
@media (max-width: 560px) {
  .admin-catalog-card {
    display: grid;
    grid-template-columns: auto 1fr;
  }
  .admin-catalog-card__metric {
    grid-column: 2;
    justify-items: start;
    display: flex;
    align-items: baseline;
    gap: 6px;
  }
  .admin-area-card {
    min-height: 0;
  }
}
:root[data-theme="dark"] .admin-module-intro,
:root[data-theme="dark"] .admin-area-overview__hero,
:root[data-theme="dark"] .admin-catalog-card,
:root[data-theme="dark"] .admin-area-card,
:root[data-theme="dark"] .admin-priority-link,
:root[data-theme="dark"] .admin-shortcut-pill {
  background: rgba(17, 24, 39, .86);
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 18px 50px rgba(0, 0, 0, .24);
}
:root[data-theme="dark"] .admin-catalog-card.is-alert {
  background: linear-gradient(135deg, rgba(17,24,39,.92), rgba(69,10,10,.34));
  border-color: rgba(248,113,113,.22);
}
:root[data-theme="dark"] .admin-module-intro h2,
:root[data-theme="dark"] .admin-area-overview__hero h2,
:root[data-theme="dark"] .admin-catalog-card__body strong,
:root[data-theme="dark"] .admin-area-card strong,
:root[data-theme="dark"] .admin-priority-link strong,
:root[data-theme="dark"] .admin-shortcut-pill,
:root[data-theme="dark"] .admin-priority-link b {
  color: #f9fafb;
}
:root[data-theme="dark"] .admin-module-intro p,
:root[data-theme="dark"] .admin-module-intro__eyebrow,
:root[data-theme="dark"] .admin-area-overview__hero p,
:root[data-theme="dark"] .admin-catalog-card__body small,
:root[data-theme="dark"] .admin-catalog-card__metric small,
:root[data-theme="dark"] .admin-area-card small,
:root[data-theme="dark"] .admin-priority-link small,
:root[data-theme="dark"] .admin-area-card em {
  color: rgba(249,250,251,.68);
}

/* Feed action active-state fix:
   Minimal feed uses a more specific grey icon rule; keep voted/reposted/saved buttons blue there too. */
.feeditem .fi-ibtn.on,
.feeditem .fi-ibtn[data-saved="1"],
.feeditem .fi-ibtn[data-reposted="1"],
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn.on,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn[data-saved="1"],
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn[data-reposted="1"]{
  color:var(--accent,#2563eb) !important;
}
.feeditem .fi-ibtn.on svg,
.feeditem .fi-ibtn[data-saved="1"] svg,
.feeditem .fi-ibtn[data-reposted="1"] svg,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn.on svg,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn[data-saved="1"] svg,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-ibtn[data-reposted="1"] svg{
  fill:currentColor !important;
}

/* Discover feed scope switcher: Global / own country. */
.feed-scope-menu{position:relative;flex:0 0 auto;}
.feed-scope-menu > summary{list-style:none;}
.feed-scope-menu > summary::-webkit-details-marker{display:none;}
.feed-scope-trigger{gap:7px;cursor:pointer;user-select:none;font-weight:800;}
.feed-scope-caret{font-size:15px;font-weight:900;color:#7b8390;margin-left:1px;}
.feed-scope-sheet{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  width:min(260px,calc(100vw - 28px));
  padding:8px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.14);
  z-index:90;
}
.feed-scope-title{display:block;padding:5px 8px 8px;font-size:12px;font-weight:900;color:#7b8390;text-transform:uppercase;letter-spacing:.04em;}
.feed-scope-option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border:0;
  border-radius:14px;
  background:transparent;
  color:#111827;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.feed-scope-option:hover,.feed-scope-option:focus-visible{background:#f4f6f8;}
.feed-scope-option.is-active{background:#eef4ff;color:#1d4ed8;}
.feed-scope-option strong{display:block;font-size:14px;line-height:1.15;}
.feed-scope-option small{display:block;margin-top:2px;font-size:12px;line-height:1.15;color:#7b8390;}
.feed-scope-option b{font-size:15px;}
.feed-scope-country-form{display:flex;flex-direction:column;gap:8px;padding-top:4px;}
.feed-scope-select{width:100%;height:42px;border-radius:12px;border:1px solid rgba(17,24,39,.10);background:#fff;padding:0 10px;font:inherit;color:#111827;}
.feed-scope-save{height:42px;border:0;border-radius:12px;background:#111;color:#fff;font-weight:900;cursor:pointer;}
:root[data-theme="dark"] .feed-scope-sheet{background:#111827;border-color:rgba(255,255,255,.10);}
:root[data-theme="dark"] .feed-scope-option{color:#f8fafc;}
:root[data-theme="dark"] .feed-scope-option:hover,:root[data-theme="dark"] .feed-scope-option:focus-visible{background:rgba(255,255,255,.08);}
:root[data-theme="dark"] .feed-scope-option.is-active{background:rgba(37,99,235,.24);color:#bfdbfe;}
:root[data-theme="dark"] .feed-scope-select{background:#0b1220;border-color:rgba(255,255,255,.12);color:#f8fafc;}


/* Discover scope switcher: compact flag + label selector like native mobile chips. */
.feed-scope-menu{position:relative;flex:0 0 auto;}
.feed-scope-menu > summary{list-style:none;}
.feed-scope-menu > summary::-webkit-details-marker{display:none;}
.feed-scope-trigger{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:0 15px;
  border:1px solid rgba(17,24,39,.09);
  border-radius:999px;
  background:#fff;
  color:#111827;
  cursor:pointer;
  user-select:none;
  box-shadow:0 1px 0 rgba(15,23,42,.02);
}
.feed-scope-flag{font-size:21px;line-height:1;display:inline-flex;align-items:center;}
.feed-scope-label{font-size:16px;font-weight:850;line-height:1;color:#111827;letter-spacing:.01em;}
.feed-scope-caret{font-size:13px;font-weight:900;color:#8b94a3;margin-left:1px;line-height:1;}
.feed-scope-menu[open] .feed-scope-caret{transform:rotate(180deg);}
.feed-scope-menu.is-loading .feed-scope-trigger{opacity:.62;pointer-events:none;}
.feed-scope-sheet{
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  width:min(245px,calc(100vw - 28px));
  padding:7px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,23,42,.14);
  z-index:90;
}
.feed-scope-option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 12px;
  border:0;
  border-radius:15px;
  background:transparent;
  color:#111827;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.feed-scope-option:hover,.feed-scope-option:focus-visible{background:#f4f6f8;}
.feed-scope-option.is-active{background:#eef4ff;color:#1d4ed8;}
.feed-scope-option-main{display:flex;align-items:center;gap:10px;min-width:0;}
.feed-scope-option-main > span{font-size:20px;line-height:1;}
.feed-scope-option-main strong{display:block;font-size:15px;line-height:1.15;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.feed-scope-option b{font-size:15px;}
.feed-scope-title{display:block;padding:5px 8px 8px;font-size:12px;font-weight:900;color:#7b8390;text-transform:uppercase;letter-spacing:.04em;}
.feed-scope-country-form{display:flex;flex-direction:column;gap:8px;padding-top:4px;}
.feed-scope-select{width:100%;height:42px;border-radius:12px;border:1px solid rgba(17,24,39,.10);background:#fff;padding:0 10px;font:inherit;color:#111827;}
.feed-scope-save{height:42px;border:0;border-radius:12px;background:#111;color:#fff;font-weight:900;cursor:pointer;}
[data-infinite="posts"].is-reloading{opacity:.48;transition:opacity .16s ease;}
@media (max-width:520px){
  .feed-scope-trigger{min-height:36px;padding:0 13px;gap:8px;}
  .feed-scope-flag{font-size:20px;}
  .feed-scope-label{font-size:15px;}
}
:root[data-theme="dark"] .feed-scope-trigger{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);color:#f8fafc;}
:root[data-theme="dark"] .feed-scope-label{color:#f8fafc;}
:root[data-theme="dark"] .feed-scope-caret{color:#aab4c4;}
:root[data-theme="dark"] .feed-scope-sheet{background:#111827;border-color:rgba(255,255,255,.10);}
:root[data-theme="dark"] .feed-scope-option{color:#f8fafc;}
:root[data-theme="dark"] .feed-scope-option:hover,:root[data-theme="dark"] .feed-scope-option:focus-visible{background:rgba(255,255,255,.08);}
:root[data-theme="dark"] .feed-scope-option.is-active{background:rgba(37,99,235,.24);color:#bfdbfe;}
:root[data-theme="dark"] .feed-scope-select{background:#0b1220;border-color:rgba(255,255,255,.12);color:#f8fafc;}

/* Feed scope: direct Global/Country list without native select/save button */
.feed-scope-sheet--countries{
  min-width:260px;
  max-width:min(86vw,320px);
  padding:6px;
}
.feed-scope-options{
  max-height:min(62vh,430px);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-right:2px;
}
.feed-scope-options form{margin:0;}
.feed-scope-sheet--countries .feed-scope-option{
  width:100%;
  min-height:44px;
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}
.feed-scope-sheet--countries .feed-scope-option:disabled{opacity:.6;cursor:wait;}
.feed-scope-sheet--countries .feed-scope-option-main strong{font-size:15px;font-weight:850;}
.feed-scope-sheet--countries .feed-scope-option:first-child{margin-bottom:4px;}
.feed-scope-search{padding:5px 5px 7px;background:inherit;border-radius:16px;}
.feed-scope-search-box{height:39px;display:flex;align-items:center;gap:8px;border:1px solid rgba(17,24,39,.08);border-radius:13px;background:#f6f7f9;padding:0 11px;color:#7b8390;}
.feed-scope-search-box span{font-size:17px;line-height:1;font-weight:900;}
.feed-scope-search-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#111827;font:inherit;font-size:15px;font-weight:750;}
.feed-scope-search-box input::placeholder{color:#9aa3af;font-weight:750;}
.feed-scope-empty{padding:13px 12px 14px;color:#7b8390;font-size:14px;font-weight:750;text-align:center;}
[data-feed-scope-filter-hidden="1"]{display:none!important;}
.feed-scope-menu.is-loading .feed-scope-sheet--countries{pointer-events:none;}
@media (max-width:640px){
  .feed-scope-sheet--countries{
    min-width:278px;
    max-width:calc(100vw - 22px);
  }
  .feed-scope-options{max-height:min(52vh,350px);}
}
:root[data-theme="dark"] .feed-scope-search-box{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.10);color:#aab4c4;}
:root[data-theme="dark"] .feed-scope-search-box input{color:#f8fafc;}
:root[data-theme="dark"] .feed-scope-search-box input::placeholder{color:#94a3b8;}
:root[data-theme="dark"] .feed-scope-empty{color:#94a3b8;}



/* Guest auth choice modal */
.auth-choice-open{overflow:hidden}
.auth-choice-modal[hidden]{display:none!important}
.auth-choice-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:22px}
.auth-choice-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.auth-choice-modal__card{position:relative;width:min(100%,390px);border-radius:28px;background:#fff;box-shadow:0 24px 80px rgba(15,23,42,.28);padding:30px 24px 24px;text-align:center;color:#111827;border:1px solid rgba(229,231,235,.92)}
.auth-choice-modal__close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;background:#f3f4f6;border-radius:999px;font-size:26px;line-height:36px;color:#6b7280;cursor:pointer}
.auth-choice-modal__logo{width:82px;height:82px;margin:4px auto 12px;border-radius:24px;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.1);overflow:hidden;border:1px solid #eef0f3}
.auth-choice-modal__logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.auth-choice-modal__logo span{font-size:34px;font-weight:900;color:#111827}
.auth-choice-modal__site{font-size:26px;font-weight:900;letter-spacing:-.02em;margin-bottom:6px}
.auth-choice-modal__text{font-size:15px;line-height:1.45;color:#6b7280;margin:0 auto 22px;max-width:300px}
.auth-choice-modal__actions{display:grid;gap:10px}
.auth-choice-modal__btn{width:100%;min-height:52px;justify-content:center;border-radius:16px;font-weight:850}
.auth-choice-modal__language{display:flex;align-items:center;justify-content:center;gap:10px;margin:13px 0 0;color:#6b7280;font-size:13px;font-weight:850;line-height:1.2}.auth-choice-modal__language>span{color:#6b7280}.auth-choice-modal__language-pill{min-height:36px;max-width:190px}.auth-choice-modal__language-pill select{height:34px;max-width:128px}.auth-legal-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:18px auto 0;color:#9ca3af;font-size:13px;font-weight:800;line-height:1.3;text-align:center}.auth-legal-links a{color:#6b7280;text-decoration:none}.auth-legal-links a:hover,.auth-legal-links a:focus-visible{color:#111827;text-decoration:underline}.auth-legal-links span{color:#d1d5db}.landing-panel-card__inner>.auth-legal-links{margin-top:22px}.login-panel-card__inner>.auth-legal-links{margin-top:20px}.register-legal-links{margin-top:auto;padding:26px 0 10px}.auth-choice-modal .auth-legal-links{margin-top:14px}
@media (max-width:520px){.auth-choice-modal{align-items:flex-end;padding:14px}.auth-choice-modal__card{border-radius:26px 26px 22px 22px;padding:30px 18px 20px}.auth-choice-modal__logo{width:74px;height:74px}.auth-choice-modal__site{font-size:24px}.auth-choice-modal__language{margin-top:12px}.auth-choice-modal__language-pill{max-width:180px}.auth-choice-modal__language-pill select{max-width:118px}.auth-legal-links{font-size:12px;gap:7px}}


/* Guest Explore controls: country/global selector + live search field. */
.feed-inline-search{
  flex:1 1 220px;
  min-width:120px;
  max-width:560px;
  height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0 13px;
  border:1px solid rgba(17,24,39,.09);
  border-radius:999px;
  background:#f7f8fa;
  color:#111827;
}
.feed-inline-search__icon{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;color:#8b94a3;flex:0 0 auto;}
.feed-inline-search__icon svg{width:17px;height:17px;display:block;fill:currentColor;}
.feed-inline-search__input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:#111827;
  font:inherit;
  font-size:15px;
  font-weight:650;
  line-height:1;
  -webkit-appearance:none;
  appearance:none;
}
.feed-inline-search__input::placeholder{color:#9aa3af;font-weight:700;}
.feed-scope-options a.feed-scope-option{text-decoration:none;}
:root[data-theme="dark"] .feed-inline-search{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10);color:#f8fafc;}
:root[data-theme="dark"] .feed-inline-search__input{color:#f8fafc;}
:root[data-theme="dark"] .feed-inline-search__input::placeholder{color:#aab4c4;}
@media (max-width:520px){
  .feed-inline-search{height:36px;flex-basis:130px;padding:0 11px;gap:7px;}
  .feed-inline-search__input{font-size:14px;}
}

:root[data-theme="dark"] .onboarding-country-context,
:root[data-theme="dark"] body.is-onboarding .onboarding-country-context{
  background:rgba(15,23,42,.70) !important;
  color:#cbd5e1 !important;
}

/* FIX: composer @mention suggestions with avatar, handle, counters and level */
.mention-suggest{
  background:var(--card,#fff);
  color:var(--text,#111);
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(15,23,42,.18);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.mention-suggest--composer{
  z-index:10020;
}
.ms-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  color:var(--text,#111);
  background:var(--card,#fff);
  border:0;
  border-bottom:1px solid rgba(15,23,42,.07);
  text-align:left;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}
.ms-item:last-child{border-bottom:0;}
.ms-item:hover,.ms-item:focus{background:#f5f7fb;outline:0;}
.ms-av{
  width:42px;
  height:42px;
  border-radius:999px;
  object-fit:cover;
  flex:0 0 auto;
  background:#eef2f7;
  border:1px solid rgba(15,23,42,.08);
}
.ms-av-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:17px;
  color:#475569;
}
.ms-main{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.ms-line1{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:15px;
  line-height:1.2;
  font-weight:850;
}
.ms-handle{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#111827;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ms-display-name{
  min-width:0;
  color:#667085;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ms-line2{
  color:#7b8494;
  font-size:12px;
  font-weight:750;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.ms-user-badges{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
}
.ms-user-badge{
  width:18px;
  height:18px;
  object-fit:contain;
  flex:0 0 auto;
}
.ms-user-badge-fallback{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#f1f5f9;
  color:#475569;
  font-size:11px;
  font-weight:900;
}
.ms-user-badge-count{
  color:#667085;
  font-size:13px;
  font-weight:900;
}
.ms-verified-badge{
  width:17px;
  height:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.ms-verified-badge svg{width:17px;height:17px;display:block;}
.ms-loading{
  background:var(--card,#fff);
}
.ms-loading span{background:rgba(15,23,42,.28);}
@media (max-width:520px){
  .mention-suggest--composer{
    border-radius:20px;
  }
  .ms-item{padding:12px;gap:10px;}
  .ms-av{width:38px;height:38px;}
  .ms-line1{font-size:14px;}
  .ms-line2{font-size:11.5px;}
}

/* FIX: robust composer @mention autosuggest empty/error state */
.ms-empty{
  padding:14px 16px;
  color:var(--muted,#667085);
  font-size:14px;
  font-weight:750;
  background:var(--card,#fff);
}
.mention-suggest--composer{
  z-index:2147483000 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
}

/* FIX: comment @mention suggestions must open above the fixed composer on mobile */
.mention-suggest--comment{
  position:fixed !important;
  z-index:2147483000 !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  border-radius:18px !important;
  background:var(--card,#fff) !important;
  color:var(--text,#111) !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 18px 48px rgba(15,23,42,.20) !important;
}
.mention-suggest--comment .ms-item{
  min-height:64px;
}
@media (max-width:520px){
  .mention-suggest--comment{
    border-radius:20px !important;
  }
  .mention-suggest--comment .ms-item{padding:12px;gap:10px;}
  .mention-suggest--comment .ms-av{width:38px;height:38px;}
}

/* FIX: comment @mention dropdown must be body-level, not inside fixed/transformed composer */
.mention-suggest[data-mention-floating="comment"]{
  position:fixed !important;
  z-index:2147483000 !important;
  display:block;
  overflow:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  pointer-events:auto;
}
.mention-suggest[data-mention-floating="comment"][hidden]{display:none !important;}


/* Private messages: simple clean chat UI */
.pm-clean-page .bottomnav,
.pm-clean-page .fab-compose,
.pm-clean-page .bottomnav-center{display:none!important;}
.pm-clean-page .container{padding-left:0!important;padding-right:0!important;padding-bottom:0!important;max-width:780px!important;}
.pm-chat-card,.pm-inbox-card{border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;margin:0!important;}
.pm-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line,#eceef2);background:var(--card,#fff);position:sticky;top:0;z-index:18;}
.pm-chat-head .kicker{display:none;}
.pm-chat-head .h1{font-size:22px!important;line-height:1.1!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw;}
.pm-conversation-handle{margin-top:3px!important;font-size:14px!important;color:var(--muted,#6b7280)!important;}
.pm-chat-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.pm-chat-actions .btn{border-radius:999px!important;padding:9px 14px!important;font-size:14px!important;}
.pm-chat-actions .btn.danger{background:#fff!important;color:#dc2626!important;border:1px solid rgba(220,38,38,.22)!important;}
.pm-thread{display:flex!important;flex-direction:column!important;gap:12px!important;max-height:none!important;overflow:visible!important;padding:16px 14px calc(108px + env(safe-area-inset-bottom))!important;}
.pm-bubble-wrap{width:100%;display:flex;justify-content:flex-start;}
.pm-bubble-wrap.is-me{justify-content:flex-end;}
.pm-bubble-shell{display:flex!important;flex-direction:column!important;gap:5px!important;max-width:min(78%,560px)!important;}
.pm-bubble-shell.is-system{max-width:min(92%,620px)!important;}
.pm-bubble-head{padding:0 4px!important;gap:7px!important;opacity:.95;}
.pm-bubble-head__avatar{width:26px!important;height:26px!important;flex-basis:26px!important;}
.pm-bubble-head__text{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important;min-width:0!important;}
.pm-bubble-head__name{order:1!important;font-size:12px!important;font-weight:800!important;color:var(--muted,#6b7280)!important;max-width:160px!important;}
.pm-bubble-head__username{order:2!important;font-size:12px!important;color:var(--muted,#8a8f99)!important;max-width:130px!important;}
.pm-bubble-head.is-me .pm-bubble-head__text{flex-direction:row-reverse!important;}
.pm-bubble{max-width:100%!important;padding:10px 12px!important;border-radius:18px!important;background:#f2f3f6!important;border:1px solid rgba(17,24,39,.06)!important;box-shadow:none!important;}
.pm-bubble.is-me{background:#111!important;color:#fff!important;border-color:#111!important;}
.pm-bubble.is-system{background:#f7f7f9!important;color:#111!important;border-color:#eceef2!important;}
.pm-bubble__text{font-size:15px!important;line-height:1.36!important;white-space:pre-wrap!important;word-break:break-word!important;}
.pm-bubble__text br+br+br{display:none;}
.pm-bubble__media{margin-top:8px!important;}
.pm-bubble__media img,.pm-bubble__media video{max-width:min(260px,100%)!important;max-height:260px!important;border-radius:14px!important;}
.pm-bubble__meta{font-size:11px!important;margin-top:6px!important;color:rgba(107,114,128,.92)!important;}
.pm-bubble.is-me .pm-bubble__meta{color:rgba(255,255,255,.72)!important;}
.pm-bubble__meta .btn{padding:4px 8px!important;font-size:11px!important;border-radius:999px!important;}
.pm-compose{position:fixed;left:50%;right:auto;bottom:var(--vv-bottom,0px);transform:translateX(-50%);width:min(780px,100vw);display:grid;grid-template-columns:1fr 46px auto;gap:8px;align-items:end;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line,#eceef2);box-shadow:0 -8px 28px rgba(17,24,39,.08);z-index:120;margin:0!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.pm-compose-input{min-height:46px!important;max-height:120px!important;resize:none!important;border-radius:999px!important;padding:12px 16px!important;line-height:1.25!important;font-size:16px!important;background:#fff!important;}
.pm-media-input{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;}
.pm-media-btn{width:46px;height:46px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line,#e5e7eb);background:#fff;color:#111;cursor:pointer;}
.pm-media-btn svg{width:24px;height:24px;display:block;}
.pm-send-btn{height:46px!important;border-radius:16px!important;padding:0 18px!important;font-size:15px!important;font-weight:900!important;white-space:nowrap!important;}
.pm-inbox-card{padding:14px!important;}
.pm-inbox-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px;}
.pm-inbox-head .h1{margin:0!important;font-size:28px!important;line-height:1.1!important;}
.pm-inbox-unread{font-size:13px;color:var(--muted,#6b7280);background:var(--bg-soft,#f5f6f8);border-radius:999px;padding:7px 10px;white-space:nowrap;}
.pm-list{gap:8px!important;}
.pm-row{border:0!important;border-bottom:1px solid var(--line,#eceef2)!important;border-radius:0!important;padding:12px 2px!important;background:transparent!important;}
.pm-row:last-child{border-bottom:0!important;}
.pm-row__avatar{width:48px!important;height:48px!important;flex-basis:48px!important;}
.pm-row__name{font-size:16px!important;}
.pm-row__preview{font-size:14px!important;-webkit-line-clamp:1!important;}
.pm-row__badge{background:#2563eb!important;}
@media (max-width:700px){
  .pm-clean-page .topbar{position:sticky;top:0;z-index:40;}
  .pm-chat-head{top:var(--topbar-h,0px);padding:10px 16px;}
  .pm-chat-head .h1{font-size:19px!important;max-width:48vw;}
  .pm-chat-actions .btn.danger{display:none!important;}
  .pm-thread{padding:14px 12px calc(104px + env(safe-area-inset-bottom))!important;}
  .pm-bubble-shell{max-width:84%!important;}
  .pm-bubble-shell.is-system{max-width:94%!important;}
  .pm-bubble{padding:9px 11px!important;border-radius:17px!important;}
  .pm-bubble__media img,.pm-bubble__media video{max-width:min(230px,100%)!important;max-height:230px!important;}
  .pm-compose{width:100vw;grid-template-columns:1fr 44px auto;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:7px;}
  .pm-compose-input{min-height:44px!important;padding:11px 15px!important;}
  .pm-media-btn{width:44px;height:44px;border-radius:15px;}
  .pm-send-btn{height:44px!important;border-radius:15px!important;padding:0 16px!important;}
  .pm-inbox-card{padding:10px 14px!important;}
}
:root[data-theme="dark"] .pm-chat-head,
:root[data-theme="dark"] .pm-compose{background:rgba(18,18,20,.96)!important;border-color:#2a2a2e!important;}
:root[data-theme="dark"] .pm-bubble{background:#22242a!important;color:#f4f4f5!important;border-color:#333640!important;}
:root[data-theme="dark"] .pm-bubble.is-me{background:#f4f4f5!important;color:#111!important;border-color:#f4f4f5!important;}
:root[data-theme="dark"] .pm-bubble.is-system{background:#1f2127!important;color:#f4f4f5!important;border-color:#333640!important;}
:root[data-theme="dark"] .pm-compose-input,
:root[data-theme="dark"] .pm-media-btn{background:#111!important;color:#f4f4f5!important;border-color:#333640!important;}
.pm-notice{margin:12px 14px;padding:10px 12px;border-radius:14px;background:var(--bg-soft,#f5f6f8);color:var(--muted,#6b7280);font-size:13px;}

.pm-no-compose .pm-thread{padding-bottom:24px!important;}
.pm-no-compose .pm-chat-card>.row{padding:0 14px 18px;margin:0!important;}

/* === FIX 2026-05-09: simpler profile tab buttons ===
   Replaces the heavy pill style on profile/user tabs with a clean text tab row.
   Scope is limited to profile tab containers so feed/category/search segmented
   controls keep their existing appearance. */
.p2-tabs-wrap{
  border-top:1px solid var(--border);
  padding-top:0 !important;
  margin-top:8px !important;
}
.p2-tabs,
.profile-tabs{
  display:flex;
  align-items:flex-end;
  flex-wrap:nowrap;
  gap:22px !important;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:0 12px !important;
  margin:0 !important;
  border-bottom:1px solid var(--border);
}
.p2-tabs::-webkit-scrollbar,
.profile-tabs::-webkit-scrollbar{
  display:none;
}
.p2-tabs .seg-btn,
.profile-tabs .seg-btn{
  position:relative;
  flex:0 0 auto !important;
  min-width:auto;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:13px 0 11px !important;
  margin:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--muted) !important;
  font-size:15px;
  font-weight:800;
  line-height:1.1;
  text-align:center;
  text-decoration:none !important;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.p2-tabs .seg-btn:hover,
.p2-tabs .seg-btn:focus-visible,
.profile-tabs .seg-btn:hover,
.profile-tabs .seg-btn:focus-visible{
  background:transparent !important;
  color:var(--text) !important;
}
.p2-tabs .seg-btn.active,
.profile-tabs .seg-btn.active{
  background:transparent !important;
  border-color:transparent !important;
  color:var(--text) !important;
}
.p2-tabs .seg-btn.active::after,
.profile-tabs .seg-btn.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:var(--text);
}
.p2-tabs .seg-btn .lock,
.profile-tabs .seg-btn .lock{
  display:inline-flex;
  align-items:center;
  opacity:.72;
}
.p2-tabs .seg-btn .lock svg,
.profile-tabs .seg-btn .lock svg{
  width:14px;
  height:14px;
  fill:currentColor;
}
@media (max-width:520px){
  .p2-tabs,
  .profile-tabs{
    gap:20px !important;
    padding:0 10px !important;
  }
  .p2-tabs .seg-btn,
  .profile-tabs .seg-btn{
    min-height:42px;
    padding-top:12px !important;
    padding-bottom:10px !important;
    font-size:14.5px;
  }
}
:root[data-theme="dark"] .p2-tabs,
:root[data-theme="dark"] .profile-tabs{
  border-bottom-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .p2-tabs-wrap{
  border-top-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .p2-tabs .seg-btn,
:root[data-theme="dark"] .profile-tabs .seg-btn{
  background:transparent !important;
  border-color:transparent !important;
  color:rgba(229,236,245,.68) !important;
}
:root[data-theme="dark"] .p2-tabs .seg-btn:hover,
:root[data-theme="dark"] .p2-tabs .seg-btn:focus-visible,
:root[data-theme="dark"] .profile-tabs .seg-btn:hover,
:root[data-theme="dark"] .profile-tabs .seg-btn:focus-visible,
:root[data-theme="dark"] .p2-tabs .seg-btn.active,
:root[data-theme="dark"] .profile-tabs .seg-btn.active{
  background:transparent !important;
  color:#f7fbff !important;
  border-color:transparent !important;
}
:root[data-theme="dark"] .p2-tabs .seg-btn.active::after,
:root[data-theme="dark"] .profile-tabs .seg-btn.active::after{
  background:#f7fbff;
}

/* === FIX 2026-05-09: simpler feed filter/category tabs ===
   Makes the Following/Explore top category chips and sort/scope controls match the
   cleaner profile text-tab style: no heavy pill background, no rounded button box. */
.feed-sortbar{
  min-height:48px !important;
  align-items:stretch !important;
  gap:22px !important;
  padding:0 var(--edgePad) !important;
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid var(--border) !important;
  box-shadow:none !important;
  backdrop-filter:saturate(180%) blur(12px);
}
.feed-sortbar .feed-sort-chips{
  align-items:stretch !important;
  gap:22px !important;
  padding:0 !important;
  margin:0 !important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.feed-sortbar .feed-sort-chips::-webkit-scrollbar{display:none;}
.feed-sortbar .feed-sort-menu,
.feed-sortbar .feed-scope-menu{
  display:flex;
  align-items:stretch;
  flex:0 0 auto;
}
.feed-sortbar .feed-sort-menu{margin-left:auto !important;}
.feed-sortbar .feed-sort-chips .chip,
.feed-sortbar .feed-sort-trigger,
.feed-sortbar .feed-scope-trigger{
  position:relative;
  flex:0 0 auto;
  min-height:48px !important;
  height:auto !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--muted) !important;
  font-size:15.5px !important;
  font-weight:850 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
}
.feed-sortbar .feed-sort-trigger{
  color:var(--text) !important;
}
.feed-sortbar .feed-sort-current,
.feed-sortbar .feed-scope-label{
  color:inherit !important;
  font-size:15.5px !important;
  font-weight:850 !important;
  line-height:1 !important;
}
.feed-sortbar .feed-sort-kicker{display:none !important;}
.feed-sortbar .feed-sort-copy{display:inline-flex;align-items:center;gap:0;line-height:1;}
.feed-sortbar .feed-sort-icon,
.feed-sortbar .feed-scope-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.feed-sortbar .feed-sort-icon svg{
  width:17px;
  height:17px;
  opacity:.74;
}
.feed-sortbar .feed-sort-caret,
.feed-sortbar .feed-scope-caret{
  color:var(--muted) !important;
  font-size:15px !important;
  line-height:1 !important;
  margin-left:1px !important;
}
.feed-sortbar .feed-sort-chips .chip:hover,
.feed-sortbar .feed-sort-chips .chip:focus-visible,
.feed-sortbar .feed-sort-trigger:hover,
.feed-sortbar .feed-sort-trigger:focus-visible,
.feed-sortbar .feed-scope-trigger:hover,
.feed-sortbar .feed-scope-trigger:focus-visible{
  color:var(--text) !important;
  background:transparent !important;
  text-decoration:none !important;
}
.feed-sortbar .feed-sort-trigger::after,
.feed-sortbar .feed-sort-chips .chip.active::after,
.feed-sortbar .feed-sort-chips .chip.is-active::after,
.feed-sortbar .feed-sort-chips .chip[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  border-radius:999px 999px 0 0;
  background:var(--text);
}
@media (max-width:520px){
  .feed-sortbar{
    min-height:46px !important;
    gap:18px !important;
  }
  .feed-sortbar .feed-sort-chips{gap:20px !important;}
  .feed-sortbar .feed-sort-chips .chip,
  .feed-sortbar .feed-sort-trigger,
  .feed-sortbar .feed-scope-trigger{
    min-height:46px !important;
    font-size:15px !important;
  }
  .feed-sortbar .feed-sort-current,
  .feed-sortbar .feed-scope-label{font-size:15px !important;}
}
:root[data-theme="dark"] .feed-sortbar{
  background:rgba(10,12,16,.94) !important;
  border-bottom-color:rgba(255,255,255,.10) !important;
}
:root[data-theme="dark"] .feed-sortbar .feed-sort-chips .chip,
:root[data-theme="dark"] .feed-sortbar .feed-sort-trigger,
:root[data-theme="dark"] .feed-sortbar .feed-scope-trigger{
  background:transparent !important;
  border-color:transparent !important;
  color:rgba(229,236,245,.68) !important;
}
:root[data-theme="dark"] .feed-sortbar .feed-sort-trigger,
:root[data-theme="dark"] .feed-sortbar .feed-sort-chips .chip:hover,
:root[data-theme="dark"] .feed-sortbar .feed-sort-chips .chip:focus-visible,
:root[data-theme="dark"] .feed-sortbar .feed-sort-trigger:hover,
:root[data-theme="dark"] .feed-sortbar .feed-sort-trigger:focus-visible,
:root[data-theme="dark"] .feed-sortbar .feed-scope-trigger:hover,
:root[data-theme="dark"] .feed-sortbar .feed-scope-trigger:focus-visible{
  color:#f7fbff !important;
  background:transparent !important;
}
:root[data-theme="dark"] .feed-sortbar .feed-sort-trigger::after,
:root[data-theme="dark"] .feed-sortbar .feed-sort-chips .chip.active::after,
:root[data-theme="dark"] .feed-sortbar .feed-sort-chips .chip.is-active::after,
:root[data-theme="dark"] .feed-sortbar .feed-sort-chips .chip[aria-current="page"]::after{
  background:#f7fbff;
}

/* === FIX 2026-05-09: simple profile tab content areas ===
   Removes heavy card boxes from profile Achievements, My categories and Comments.
   Content stays functional; only presentation is flattened into clean rows/sections. */
.profile-feed .ach-wrap-simple{
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  gap:0 !important;
}
.profile-feed .ach-section{
  display:block;
  margin:0 !important;
  padding:18px var(--edgePad) !important;
  border:0 !important;
  border-top:1px solid var(--border) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.profile-feed .ach-section:first-child{border-top:0 !important;}
.profile-feed .ach-section .kicker{
  margin:0 0 12px !important;
  color:var(--muted) !important;
  font-size:12px !important;
  font-weight:850 !important;
  letter-spacing:.04em !important;
}
.profile-feed .ach-reputation-line{
  margin:0 !important;
  gap:10px !important;
  align-items:center !important;
}
.profile-feed .ach-current-level-badge-img,
.profile-feed .ach-current-level-badge-fallback{
  width:30px !important;
  height:30px !important;
  border-radius:7px !important;
}
.profile-feed .ach-level-label,
.profile-feed .ach-points-label{
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  color:var(--text) !important;
}
.profile-feed .ach-points-label{
  margin-left:clamp(34px,16vw,104px) !important;
}
.profile-feed .ach-current-badge{
  margin-top:12px !important;
  font-size:14px !important;
}
.profile-feed .ach-earned-badges{
  margin-top:14px !important;
  gap:12px !important;
}
.profile-feed .ach-earned-badge-img,
.profile-feed .ach-earned-badge-fallback{
  width:31px !important;
  height:31px !important;
  border-radius:7px !important;
}
.profile-feed .ach-rule-row,
.profile-feed .ach-badge-row{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:46px;
  padding:11px 0 !important;
  border-top:1px solid var(--border) !important;
  background:transparent !important;
}
.profile-feed .ach-rule-row:first-of-type,
.profile-feed .ach-badge-row:first-of-type{border-top:0 !important;}
.profile-feed .ach-rule-row{
  justify-content:space-between;
  font-size:17px;
}
.profile-feed .ach-rule-row strong{
  font-size:17px;
  font-weight:900;
}
.profile-feed .ach-badge-row.is-locked{opacity:.62;}
.profile-feed .ach-badge-row-img,
.profile-feed .ach-badge-row-fallback{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  border-radius:7px !important;
  object-fit:cover !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef2ff;
  font-size:15px;
}
.profile-feed .ach-badge-row-copy{min-width:0;}
.profile-feed .ach-badge-row-title{
  font-size:16px;
  line-height:1.2;
}
.profile-feed .category-list{
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.profile-feed .category-row{
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:14px !important;
  align-items:center !important;
  margin:0 !important;
  padding:17px var(--edgePad) !important;
  border:0 !important;
  border-top:1px solid var(--border) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.profile-feed .category-row:first-child{border-top:0 !important;}
.profile-feed .category-row-main a{
  color:var(--text) !important;
  text-decoration:none !important;
}
.profile-feed .category-row-main strong{
  font-size:17px;
  font-weight:900;
  letter-spacing:-.01em;
}
.profile-feed .category-meta{
  margin-top:6px !important;
  gap:12px !important;
  color:var(--muted) !important;
  font-size:13px !important;
}
.profile-feed .category-row-actions{
  align-items:center !important;
  gap:16px !important;
}
.profile-feed .category-row-actions .btn,
.profile-feed .category-row-actions form .btn{
  min-width:0 !important;
  min-height:0 !important;
  padding:4px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--text) !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1.2 !important;
}
.profile-feed .category-row-actions .btn.alt{
  color:var(--muted) !important;
}
.profile-feed .category-row-actions .btn:hover,
.profile-feed .category-row-actions .btn:focus-visible{
  color:var(--text) !important;
  text-decoration:underline !important;
}
.profile-feed .ucom{
  margin:0 !important;
  padding:17px var(--edgePad) !important;
  border:0 !important;
  border-top:1px solid var(--border) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.profile-feed .ucom:first-child{border-top:0 !important;}
.profile-feed .ucom-meta{
  margin:0 0 10px !important;
  font-size:13px !important;
  color:var(--muted) !important;
}
.profile-feed .ucom-meta a{
  color:inherit !important;
  text-decoration:underline !important;
  text-underline-offset:2px;
}
.profile-feed .ucom-post-preview{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin:0 0 11px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.profile-feed .ucom-post-thumb{
  width:50px !important;
  height:50px !important;
  flex:0 0 50px !important;
  border-radius:9px !important;
  background:rgba(0,0,0,.05) !important;
}
.profile-feed .ucom-post-title{
  font-size:15px !important;
  font-weight:900 !important;
  color:var(--text) !important;
}
.profile-feed .ucom-post-excerpt{
  margin-top:2px !important;
  font-size:13px !important;
  color:var(--muted) !important;
}
.profile-feed .ucom-body{
  font-size:16px !important;
  line-height:1.35 !important;
  color:var(--text) !important;
}
@media (max-width:520px){
  .profile-feed .ach-section,
  .profile-feed .category-row,
  .profile-feed .ucom{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .profile-feed .ach-points-label{margin-left:clamp(26px,13vw,72px) !important;}
  .profile-feed .category-row-actions{gap:14px !important;}
  .profile-feed .category-row-actions .btn,
  .profile-feed .category-row-actions form .btn{font-size:14.5px !important;}
}
:root[data-theme="dark"] .profile-feed .ach-section,
:root[data-theme="dark"] .profile-feed .category-row,
:root[data-theme="dark"] .profile-feed .ucom,
:root[data-theme="dark"] .profile-feed .ucom-post-preview{
  background:transparent !important;
  border-color:rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}
:root[data-theme="dark"] .profile-feed .ach-rule-row,
:root[data-theme="dark"] .profile-feed .ach-badge-row{
  border-top-color:rgba(255,255,255,.08) !important;
}
:root[data-theme="dark"] .profile-feed .category-row-actions .btn,
:root[data-theme="dark"] .profile-feed .category-row-actions form .btn{
  background:transparent !important;
  border-color:transparent !important;
  color:#f7fbff !important;
}
:root[data-theme="dark"] .profile-feed .category-row-actions .btn.alt{
  color:rgba(229,236,245,.70) !important;
}
:root[data-theme="dark"] .profile-feed .ucom-post-thumb,
:root[data-theme="dark"] .profile-feed .ach-badge-row-fallback{
  background:rgba(255,255,255,.08) !important;
}


/* === Compose page clarity pass: compact sectioned composer === */
body.compose-page .composer-main{
  padding:18px 26px calc(108px + env(safe-area-inset-bottom));
  max-width:760px;
}
body.compose-page .composer-form{gap:0;}
body.compose-page .composer-audience{
  padding:0 0 16px;
  margin:0;
  border-bottom:1px solid #edf1f6;
}
body.compose-page .composer-titlewrap,
body.compose-page .composer-bodywrap,
body.compose-page .composer-categories,
body.compose-page .composer-media,
body.compose-page .composer-urlpreview{
  margin:0;
  padding:18px 0;
  border:0;
  border-bottom:1px solid #edf1f6;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.compose-page .composer-titlewrap{padding-top:14px;}
body.compose-page .composer-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 10px;
}
body.compose-page .composer-section-label{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  min-width:0;
  color:#6b7280;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
}
body.compose-page .composer-section-label span{
  color:#9aa3af;
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
  text-transform:none;
}
body.compose-page .field-counter,
body.compose-page .line-counter{
  position:static;
  transform:none;
  flex:0 0 auto;
  min-width:70px;
  justify-content:center;
  padding:5px 10px;
  background:#f6f8fb;
  border:1px solid #e6ebf2;
  color:#555f6d;
  font-size:12px;
  line-height:1;
  box-shadow:none;
}
body.compose-page .title-counter{top:auto;right:auto;}
body.compose-page .line-counter--below{margin-top:0;}
body.compose-page .composer-title{
  padding:2px 0 4px;
  font-size:clamp(24px, 6vw, 31px);
  line-height:1.18;
  font-weight:850;
}
body.compose-page .composer-title::placeholder,
body.compose-page .composer-bodytext::placeholder,
body.compose-page .composer-category-input::placeholder{color:#b7bec9;opacity:1;}
body.compose-page .composer-bodytext{
  min-height:132px;
  max-height:34vh;
  padding:2px 0 6px;
  font-size:19px;
  line-height:1.45;
}
body.compose-page .composer-categories-head{margin-bottom:12px;}
body.compose-page .composer-category-count{
  flex:0 0 auto;
  min-width:48px;
  padding:5px 10px;
  border-radius:999px;
  background:#f6f8fb;
  border:1px solid #e6ebf2;
  color:#555f6d;
  font-size:12px;
  font-weight:900;
}
body.compose-page .composer-category-input{
  border:0;
  border-bottom:1px solid #dfe6ef;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:10px 0 12px;
  font-size:18px;
}
body.compose-page .composer-category-input:focus{
  border-color:#9cc2ff;
  box-shadow:none;
}
body.compose-page .composer-category-picked-top.category-picked{
  margin:12px 0 0;
  gap:8px;
}
body.compose-page .cat-chip{
  padding:6px 9px;
  border:0;
  background:#f3f5f8;
  color:#111827;
  font-weight:750;
}
body.compose-page .category-suggest{margin-top:10px;}
body.compose-page .cat-suggest-item{
  border:0;
  border-bottom:1px solid #edf1f6;
  border-radius:0;
  padding:12px 0;
  background:transparent;
}
body.compose-page .cat-suggest-item:active{background:#f8fafc;}
body.compose-page .composer-toolbar{
  min-height:70px;
  padding:8px 26px;
  padding-bottom:calc(8px + env(safe-area-inset-bottom));
  border-top:1px solid #edf1f6;
  box-shadow:0 -8px 26px rgba(17,24,39,.04);
}
body.compose-page .composer-toolbar-tools{gap:6px;}
body.compose-page .ctool{width:40px;height:40px;border-radius:12px;}
body.compose-page .ctool svg{width:24px;height:24px;}
body.compose-page .composer-toolbar-actions{gap:10px;}
body.compose-page .composer-toolbar-btn,
body.compose-page .composer-toolbar-submit{height:42px;}
body.compose-page .composer-postbtn[disabled]{background:#eef0f4;color:#9aa2ad;}
@media (max-width:560px){
  body.compose-page .composer-main{padding-left:26px;padding-right:26px;}
  body.compose-page .composer-titlewrap,
  body.compose-page .composer-bodywrap,
  body.compose-page .composer-categories,
  body.compose-page .composer-media,
  body.compose-page .composer-urlpreview{padding:16px 0;}
  body.compose-page .composer-bodytext{min-height:118px;max-height:32vh;font-size:18px;}
  body.compose-page .composer-title{font-size:clamp(24px, 8vw, 30px);}
  body.compose-page .composer-toolbar{padding-left:26px;padding-right:26px;}
  body.compose-page .composer-toolbar-btn{min-width:82px;}
  body.compose-page .composer-toolbar-submit{min-width:92px;}
}
:root[data-theme="dark"] body.compose-page .composer-audience,
:root[data-theme="dark"] body.compose-page .composer-titlewrap,
:root[data-theme="dark"] body.compose-page .composer-bodywrap,
:root[data-theme="dark"] body.compose-page .composer-categories,
:root[data-theme="dark"] body.compose-page .composer-media,
:root[data-theme="dark"] body.compose-page .composer-urlpreview{border-bottom-color:rgba(255,255,255,.09);}
:root[data-theme="dark"] body.compose-page .composer-section-label{color:#aab4c4;}
:root[data-theme="dark"] body.compose-page .composer-section-label span{color:#7f8da1;}
:root[data-theme="dark"] body.compose-page .field-counter,
:root[data-theme="dark"] body.compose-page .line-counter,
:root[data-theme="dark"] body.compose-page .composer-category-count{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.09) !important;
  color:#d8e1ee !important;
}
:root[data-theme="dark"] body.compose-page .composer-category-input{border-bottom-color:rgba(255,255,255,.11);}
:root[data-theme="dark"] body.compose-page .composer-title::placeholder,
:root[data-theme="dark"] body.compose-page .composer-bodytext::placeholder,
:root[data-theme="dark"] body.compose-page .composer-category-input::placeholder{color:#6f7d90;}
:root[data-theme="dark"] body.compose-page .cat-chip{background:rgba(255,255,255,.07) !important;color:#eef4fb !important;}
:root[data-theme="dark"] body.compose-page .cat-suggest-item{border-bottom-color:rgba(255,255,255,.09);}
:root[data-theme="dark"] body.compose-page .cat-suggest-item:active{background:rgba(255,255,255,.06);}
:root[data-theme="dark"] body.compose-page .composer-toolbar{border-top-color:rgba(255,255,255,.09);box-shadow:0 -8px 26px rgba(0,0,0,.20);}

/* PWA install: no automatic popup; manual sidebar action only */
.drawer-install__btn{
  width:100%;
  border:0;
  background:transparent;
  font:inherit;
  color:inherit;
  cursor:pointer;
  text-align:left;
  box-sizing:border-box;
}
.drawer-install__btn[hidden]{display:none !important;}
.drawer-install__btn:disabled{opacity:.55;cursor:default;}
.drawer-account-bottom .drawer-install__btn{
  margin-top:4px;
}
.drawer-account-bottom .drawer-install__btn .drawer-lbl{
  text-transform:none;
}
:root[data-theme="dark"] .drawer-install__btn:hover{
  background:rgba(255,255,255,.045) !important;
}


/* === Search page: simple header + text tabs (2026-05-09) === */
body.is-search-page .search-head-card{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  margin:0 !important;
  padding:22px var(--edgePad, 24px) 12px !important;
}
body.is-search-page .search-head-card .kicker{
  margin:0 0 8px !important;
  padding:0 !important;
  color:var(--muted, #6b7280) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
}
body.is-search-page .search-head-card .h1{
  margin:0 0 18px !important;
  padding:0 !important;
  font-size:26px !important;
  line-height:1.15 !important;
  font-weight:600 !important;
  letter-spacing:-.02em !important;
}
body.is-search-page .search-head-card .form{
  margin:0 !important;
}
body.is-search-page .search-head-card .search-live-wrap{
  position:relative !important;
}
body.is-search-page .search-head-card .input,
body.is-search-page .search-head-card input#searchInput{
  height:48px !important;
  min-height:48px !important;
  width:100% !important;
  border:0 !important;
  border-bottom:1px solid var(--border, rgba(0,0,0,.10)) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  padding:0 !important;
  font-size:22px !important;
  line-height:48px !important;
  font-weight:500 !important;
  color:var(--text, #111) !important;
}
body.is-search-page .search-head-card .input:focus,
body.is-search-page .search-head-card input#searchInput:focus{
  border-bottom-color:var(--text, #111) !important;
  box-shadow:none !important;
}
body.is-search-page .search-head-card .input::placeholder,
body.is-search-page .search-head-card input#searchInput::placeholder{
  color:var(--muted, #8d96a3) !important;
  opacity:.65 !important;
}
body.is-search-page .search-filter-tabs{
  display:flex !important;
  gap:28px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 var(--edgePad, 24px) 0 !important;
  margin:0 0 10px !important;
  border-bottom:1px solid var(--border, rgba(0,0,0,.08)) !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
}
body.is-search-page .search-filter-tabs::-webkit-scrollbar{display:none !important;}
body.is-search-page .search-filter-tab{
  flex:0 0 auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:0 0 10px !important;
  border:0 !important;
  border-bottom:3px solid transparent !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--muted, #6b7280) !important;
  font:inherit !important;
  font-size:21px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
body.is-search-page .search-filter-tab.is-active{
  background:transparent !important;
  color:var(--text, #111) !important;
  border-bottom-color:var(--text, #111) !important;
}
body.is-search-page .search-filter-tab:focus-visible{
  outline:2px solid var(--accent, #2563eb) !important;
  outline-offset:3px !important;
}
body.is-search-page #searchResults > .card{
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  margin:0 !important;
  padding:0 !important;
}
body.is-search-page #searchResults > .card > .kicker{
  padding:12px var(--edgePad, 24px) 4px !important;
  margin:0 !important;
  color:var(--muted, #6b7280) !important;
}
@media (min-width:981px){
  body.is-search-page .search-head-card,
  body.is-search-page .search-filter-tabs,
  body.is-search-page #searchResults > .card > .kicker{
    --edgePad:24px;
  }
}
@media (max-width:640px){
  body.is-search-page .search-head-card{
    padding-top:20px !important;
    padding-bottom:8px !important;
  }
  body.is-search-page .search-head-card .h1{
    margin-bottom:14px !important;
    font-size:25px !important;
  }
  body.is-search-page .search-head-card .input,
  body.is-search-page .search-head-card input#searchInput{
    height:46px !important;
    min-height:46px !important;
    line-height:46px !important;
    font-size:20px !important;
  }
  body.is-search-page .search-filter-tabs{
    gap:26px !important;
    margin-bottom:8px !important;
  }
  body.is-search-page .search-filter-tab{
    min-height:42px !important;
    font-size:21px !important;
    padding-bottom:9px !important;
  }
}
:root[data-theme="dark"] body.is-search-page .search-head-card .input,
:root[data-theme="dark"] body.is-search-page .search-head-card input#searchInput{
  border-bottom-color:var(--border, rgba(255,255,255,.14)) !important;
  color:var(--text, #f5f5f5) !important;
}
:root[data-theme="dark"] body.is-search-page .search-head-card .input:focus,
:root[data-theme="dark"] body.is-search-page .search-head-card input#searchInput:focus{
  border-bottom-color:var(--text, #fff) !important;
}
:root[data-theme="dark"] body.is-search-page .search-filter-tabs{
  border-bottom-color:var(--border, rgba(255,255,255,.12)) !important;
}
:root[data-theme="dark"] body.is-search-page .search-filter-tab{
  background:transparent !important;
  color:var(--muted, #9ca3af) !important;
}
:root[data-theme="dark"] body.is-search-page .search-filter-tab.is-active{
  background:transparent !important;
  color:var(--text, #fff) !important;
  border-bottom-color:var(--text, #fff) !important;
}


/* Sidebar drawer reliability fix */
.drawer{z-index:10000;}
.topbar-left,.topbar-right{position:relative;z-index:5;}
.iconbtn-menu{position:relative;z-index:20;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.iconbtn-menu svg,.iconbtn-menu svg *{pointer-events:none;}
.drawer-backdrop,.drawer-close{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}

/* Registration flow update: account on sign-up, country on onboarding. */
body.is-onboarding .onboarding-country-select-wrap{
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
body.is-onboarding .onboarding-country-select{
  width:100% !important;
  height:46px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#f6f7f9 !important;
  box-shadow:none !important;
  padding:0 14px !important;
  font-size:15px !important;
  font-weight:700 !important;
  color:#111827 !important;
}
body.is-onboarding .onboarding-country-select:focus{
  background:#fff !important;
  outline:2px solid rgba(37,99,235,.18) !important;
  outline-offset:0 !important;
}
body.is-onboarding .onboarding-country-hint{
  color:#6b7280 !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-country-select{
  background:rgba(15,23,42,.92) !important;
  color:#f8fafc !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-country-hint{
  color:#94a3b8 !important;
}

/* Onboarding refinement: move country chooser into category suggestions and keep the page flat. */
body.is-onboarding .onboarding-country-panel{
  display:none !important;
}
body.is-onboarding .onboarding-country-context-select{
  display:block !important;
  margin:-2px 0 12px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
}
body.is-onboarding .onboarding-country-context-select .onboarding-country-select{
  width:100% !important;
  min-width:0 !important;
  height:44px !important;
  border:0 !important;
  border-radius:14px !important;
  background:#f6f7f9 !important;
  box-shadow:none !important;
  padding:0 14px !important;
  font-size:15px !important;
  font-weight:800 !important;
  color:#111827 !important;
}
body.is-onboarding .onboarding-country-context-select .onboarding-country-select:focus{
  background:#fff !important;
  outline:2px solid rgba(37,99,235,.18) !important;
  outline-offset:0 !important;
}
body.is-onboarding .onboarding-country-context-select .onboarding-country-hint{
  margin:7px 2px 0 !important;
  color:#6b7280 !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
}
body.is-onboarding .onboarding-v2 .onboarding-avatar-preview.has-upload-preview,
body.is-onboarding .onboarding-v2 .onboarding-avatar-preview:has(img[src^="blob:"]),
body.is-onboarding .onboarding-v2 .onboarding-avatar-preview:has(img[src^="data:image/"]){
  background:#fff !important;
}
body.is-onboarding .onboarding-v2 .onboarding-avatar-preview img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-country-context-select .onboarding-country-select{
  background:rgba(15,23,42,.92) !important;
  color:#f8fafc !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-country-context-select .onboarding-country-select:focus{
  background:#0f172a !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-country-context-select .onboarding-country-hint{
  color:#94a3b8 !important;
}

/* Onboarding category area cleanup + reliable avatar input preview. */
body.is-onboarding .onboarding-avatar-preview.has-upload-preview,
body.is-onboarding .onboarding-avatar-preview[data-avatar-selected="1"]{
  background:#fff !important;
  outline:2px solid rgba(37,99,235,.18) !important;
  outline-offset:2px !important;
}
body.is-onboarding .onboarding-file-btn-v2{
  position:relative !important;
  overflow:hidden !important;
}
body.is-onboarding .onboarding-file-btn-v2 input[type="file"]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}
body.is-onboarding .onboarding-avatar-copy small[data-avatar-status]{
  max-width:260px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
body.is-onboarding .onboarding-suggest-tools{
  display:grid !important;
  gap:9px !important;
  margin:0 0 12px !important;
}
body.is-onboarding .onboarding-country-line{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:10px !important;
  min-height:42px !important;
  padding:0 12px !important;
  border-radius:14px !important;
  background:#f6f7f9 !important;
}
body.is-onboarding .onboarding-country-line > span{
  color:#6b7280 !important;
  font-size:13px !important;
  font-weight:850 !important;
}
body.is-onboarding .onboarding-country-line .onboarding-country-select{
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 30px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#111827 !important;
  font-size:15px !important;
  font-weight:850 !important;
  text-align:right !important;
}
body.is-onboarding .onboarding-country-line .onboarding-country-select:focus{
  outline:0 !important;
  background:transparent !important;
}
body.is-onboarding .onboarding-search-v2{
  margin:0 !important;
}
body.is-onboarding .onboarding-search-v2 .onboarding-cat-search{
  height:42px !important;
  border-radius:14px !important;
  background:#f6f7f9 !important;
  border:0 !important;
  padding:0 12px !important;
  font-size:15px !important;
}
body.is-onboarding .onboarding-section-label{
  margin:2px 0 4px !important;
  color:#9aa3b2 !important;
  font-size:10.5px !important;
  line-height:1.1 !important;
  letter-spacing:.09em !important;
}
body.is-onboarding .onboarding-cat-row{
  min-height:54px !important;
  padding:8px 0 !important;
}
body.is-onboarding .onboarding-cat-text strong{
  font-size:15.5px !important;
}
body.is-onboarding .onboarding-cat-text span{
  margin-top:2px !important;
  font-size:12px !important;
  color:#7b8491 !important;
}
body.is-onboarding .onboarding-follow-btn{
  height:32px !important;
  min-width:70px !important;
  padding:0 12px !important;
  font-size:12.5px !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-country-line,
:root[data-theme="dark"] body.is-onboarding .onboarding-search-v2 .onboarding-cat-search{
  background:rgba(15,23,42,.92) !important;
}
:root[data-theme="dark"] body.is-onboarding .onboarding-country-line .onboarding-country-select{
  color:#f8fafc !important;
}
@media (max-width:520px){
  body.is-onboarding .onboarding-suggest-tools{
    gap:8px !important;
  }
  body.is-onboarding .onboarding-country-line{
    min-height:40px !important;
  }
  body.is-onboarding .onboarding-country-line .onboarding-country-select,
  body.is-onboarding .onboarding-search-v2 .onboarding-cat-search{
    height:40px !important;
    min-height:40px !important;
  }
}

/* Onboarding button cleanup: simple text actions instead of heavy pill buttons. */
.onboarding-v2 .onboarding-file-btn,
.onboarding-v2 .onboarding-file-btn-v2{
  min-height:0 !important;
  width:max-content !important;
  padding:6px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--text,#111827) !important;
  box-shadow:none !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  text-decoration:underline;
  text-underline-offset:4px;
  cursor:pointer;
}
.onboarding-v2 .onboarding-file-btn:active,
.onboarding-v2 .onboarding-file-btn-v2:active{
  opacity:.62;
}
.onboarding-v2 .onboarding-follow-btn{
  min-width:auto !important;
  height:auto !important;
  padding:6px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#2563eb !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  text-decoration:underline;
  text-underline-offset:4px;
  white-space:nowrap;
  cursor:pointer;
}
.onboarding-v2 .onboarding-cat-row.is-selected .onboarding-follow-btn{
  background:transparent !important;
  border:0 !important;
  color:var(--muted,#667085) !important;
}
.onboarding-v2 .onboarding-follow-btn:active{
  transform:none !important;
  opacity:.62;
}
.onboarding-v2 .onboarding-actions-v2{
  gap:0 !important;
  margin-top:16px !important;
  padding:10px 0 !important;
  border:0 !important;
  border-top:1px solid rgba(15,23,42,.08) !important;
  border-radius:0 !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:none !important;
  backdrop-filter:blur(14px);
}
.onboarding-v2 .onboarding-actions-v2 .btn,
.onboarding-v2 .onboarding-actions-v2 .btn.alt{
  min-height:44px !important;
  padding:0 10px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--text,#111827) !important;
  box-shadow:none !important;
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
.onboarding-v2 .onboarding-actions-v2 .btn.alt{
  color:var(--muted,#667085) !important;
}
.onboarding-v2 .onboarding-actions-v2 .btn + .btn{
  border-left:1px solid rgba(15,23,42,.08) !important;
}
.onboarding-v2 .onboarding-actions-v2 .btn:active{
  opacity:.62;
}
:root[data-theme="dark"] .onboarding-v2 .onboarding-actions-v2{
  background:rgba(15,23,42,.92) !important;
  border-top-color:rgba(148,163,184,.18) !important;
}
:root[data-theme="dark"] .onboarding-v2 .onboarding-actions-v2 .btn + .btn{
  border-left-color:rgba(148,163,184,.18) !important;
}
:root[data-theme="dark"] .onboarding-v2 .onboarding-file-btn,
:root[data-theme="dark"] .onboarding-v2 .onboarding-file-btn-v2,
:root[data-theme="dark"] .onboarding-v2 .onboarding-actions-v2 .btn{
  color:var(--text,#f8fafc) !important;
}
:root[data-theme="dark"] .onboarding-v2 .onboarding-actions-v2 .btn.alt,
:root[data-theme="dark"] .onboarding-v2 .onboarding-cat-row.is-selected .onboarding-follow-btn{
  color:var(--muted,#94a3b8) !important;
}


/* 2026-05-09: Simple load-more button + one-second success notice fade */
.load-more,
#post-list .load-more,
.profile-feed .load-more,
.search-results .load-more{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:48px !important;
  margin:14px 0 8px !important;
  padding:14px 0 !important;
  border:0 !important;
  border-top:1px solid var(--border,#eceef2) !important;
  border-bottom:1px solid var(--border,#eceef2) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--text,#111) !important;
  box-shadow:none !important;
  font-size:15px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
.load-more:hover,
#post-list .load-more:hover,
.profile-feed .load-more:hover,
.search-results .load-more:hover{
  background:transparent !important;
  color:var(--text,#111) !important;
}
.load-more:active,
#post-list .load-more:active,
.profile-feed .load-more:active,
.search-results .load-more:active{
  opacity:.55;
}
.load-more:disabled{
  opacity:.35 !important;
}
.notice[data-auto-dismiss="1"]{
  overflow:hidden;
  animation:noticeAutoDismiss .24s ease 1s forwards;
}
@keyframes noticeAutoDismiss{
  to{
    opacity:0;
    transform:translateY(-4px);
    max-height:0;
    margin-top:0;
    margin-bottom:0;
    padding-top:0;
    padding-bottom:0;
    border-top-width:0;
    border-bottom-width:0;
  }
}
:root[data-theme="dark"] .load-more,
:root[data-theme="dark"] #post-list .load-more,
:root[data-theme="dark"] .profile-feed .load-more,
:root[data-theme="dark"] .search-results .load-more{
  background:transparent !important;
  color:var(--text,#f9fafb) !important;
  border-color:rgba(255,255,255,.12) !important;
}

/* === FIX 2026-05-09: profile tabs as real links + server-rendered fallback === */
.profile-tabs-static .p2-tabs{
  position:relative;
  z-index:20;
  pointer-events:auto;
  touch-action:pan-x;
}
.profile-tabs-static .p2-tabs .seg-btn{
  pointer-events:auto;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-touch-callout:none;
}
.profile-tabs-static .profile-feed{
  position:relative;
  z-index:1;
}


/* === FIX 2026-05-09: profile tabs click layer + real tab navigation === */
.profile-tabs-static,
[data-profile-tabs-static]{
  position:relative !important;
  z-index:50 !important;
  isolation:isolate;
}
.profile-tabs-static .p2-tabs,
[data-profile-tabs-static] .p2-tabs{
  position:relative !important;
  z-index:60 !important;
  pointer-events:auto !important;
}
.profile-tabs-static .p2-tabs a.seg-btn,
[data-profile-tabs-static] .p2-tabs a.seg-btn{
  position:relative !important;
  z-index:61 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-user-select:none;
  user-select:none;
}

/* === FIX 2026-05-09: profile tabs horizontal scroll stability ===
   Prevent iOS/PWA swipe gestures on the profile tab row from being treated as a
   tab click. The row keeps its own horizontal scroll position instead of
   jumping back to the first/active tab after a short drag. */
.profile-tabs-static .p2-tabs,
[data-profile-tabs-static] .p2-tabs,
.profile-tabs{
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  flex-wrap:nowrap !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-x:contain;
  scroll-behavior:auto !important;
  scroll-snap-type:none !important;
  touch-action:pan-x !important;
}
.profile-tabs-static .p2-tabs .seg-btn,
[data-profile-tabs-static] .p2-tabs .seg-btn,
.profile-tabs .seg-btn{
  flex:0 0 auto !important;
  touch-action:pan-x !important;
}
.profile-tabs-static .p2-tabs a.seg-btn,
[data-profile-tabs-static] .p2-tabs a.seg-btn{
  touch-action:pan-x !important;
}


/* === Sidebar drawer: simpler button styling (2026-05-09) === */
.drawer-close{
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.10);
  background:transparent;
  box-shadow:none;
  color:#2563eb;
  font-size:18px;
  font-weight:700;
}
.drawer-close:hover,
.drawer-close:active{
  background:rgba(37,99,235,.04);
}
.drawer-follow-btn,
.drawer-follow-btn--mini{
  min-width:auto !important;
  min-height:auto !important;
  padding:4px 0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(17,24,39,.30) !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}
.drawer-follow-btn .drawer-follow-btn__label,
.drawer-follow-btn--mini .drawer-follow-btn__label{
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}
.drawer-follow-btn:hover,
.drawer-follow-btn--mini:hover,
.drawer-follow-btn:active,
.drawer-follow-btn--mini:active{
  background:transparent !important;
  transform:none !important;
  border-bottom-color:#111827 !important;
}
.drawer-smart-count{
  min-height:auto;
  padding:0;
  border-radius:0;
  background:transparent;
  color:#6b7280;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.drawer-account-bottom .drawer-item,
.drawer-account-bottom .drawer-logout__btn,
.drawer-account-bottom .drawer-install__btn{
  border-radius:0 !important;
  padding:12px 0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.drawer-account-bottom .drawer-item + .drawer-item,
.drawer-account-bottom .drawer-logout + .drawer-install__btn,
.drawer-account-bottom .drawer-title + .drawer-item,
.drawer-account-bottom .drawer-logout{
  border-top:1px solid rgba(0,0,0,.06);
}
:root[data-theme="dark"] .drawer-close{
  border-color:rgba(255,255,255,.10);
  color:#60a5fa;
}
:root[data-theme="dark"] .drawer-close:hover,
:root[data-theme="dark"] .drawer-close:active{
  background:rgba(96,165,250,.08);
}
:root[data-theme="dark"] .drawer-follow-btn,
:root[data-theme="dark"] .drawer-follow-btn--mini{
  border-bottom-color:rgba(255,255,255,.24) !important;
  background:transparent !important;
  color:#edf3fb !important;
  -webkit-text-fill-color:#edf3fb !important;
}
:root[data-theme="dark"] .drawer-follow-btn .drawer-follow-btn__label,
:root[data-theme="dark"] .drawer-follow-btn--mini .drawer-follow-btn__label{
  color:#edf3fb !important;
  -webkit-text-fill-color:#edf3fb !important;
}
:root[data-theme="dark"] .drawer-smart-count{
  background:transparent;
  color:rgba(255,255,255,.68);
}
:root[data-theme="dark"] .drawer-account-bottom .drawer-item + .drawer-item,
:root[data-theme="dark"] .drawer-account-bottom .drawer-logout + .drawer-install__btn,
:root[data-theme="dark"] .drawer-account-bottom .drawer-title + .drawer-item,
:root[data-theme="dark"] .drawer-account-bottom .drawer-logout{
  border-top-color:rgba(255,255,255,.08);
}

/* === Composer category live suggestions fix === */
.category-suggest[hidden]{display:none!important;}
.category-suggest:not([hidden]){display:flex!important;}
body.compose-page .composer-categories{position:relative;}
body.compose-page .composer-categories .category-suggest:not([hidden]){
  position:relative;
  z-index:90;
  max-height:min(260px, 34vh);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  background:#fff;
}
body.compose-page .composer-categories .cat-suggest-item{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
:root[data-theme="dark"] body.compose-page .composer-categories .category-suggest:not([hidden]){
  background:#0b0f17;
}


/* === Composer category suggestion ordering + scroll fix === */
body.compose-page .composer-categories .category-suggest:not([hidden]){
  display:block !important;
  position:relative;
  z-index:120;
  max-height:min(300px, 36vh);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  background:#fff;
  border-bottom:1px solid #edf1f6;
}
body.compose-page .composer-categories .cat-suggest-item{
  width:100%;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
body.compose-page .composer-categories .cat-suggest-item.create,
body.compose-page .composer-categories .cat-suggest-create{
  position:sticky;
  top:0;
  z-index:3;
  background:#fff;
  font-weight:850;
  border-bottom:1px solid #dfe6ef;
  box-shadow:0 1px 0 rgba(17,24,39,.03);
}
:root[data-theme="dark"] body.compose-page .composer-categories .category-suggest:not([hidden]){
  background:#0b0f17;
  border-bottom-color:rgba(255,255,255,.09);
}
:root[data-theme="dark"] body.compose-page .composer-categories .cat-suggest-item.create,
:root[data-theme="dark"] body.compose-page .composer-categories .cat-suggest-create{
  background:#0b0f17;
  border-bottom-color:rgba(255,255,255,.12);
}

/* === Generic category suggestion click-only scroll support === */
.composer-categories .category-suggest:not([hidden]){
  max-height:min(300px, 36vh);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.composer-categories .cat-suggest-item.create,
.composer-categories .cat-suggest-create{
  position:sticky;
  top:0;
  z-index:3;
  background:var(--bg-elevated,#fff);
}
:root[data-theme="dark"] .composer-categories .cat-suggest-item.create,
:root[data-theme="dark"] .composer-categories .cat-suggest-create{
  background:#0b0f17;
}

/* Composer saved drafts counter + list */
.composer-drafts-btn{
  position:relative;
  width:44px;
  min-width:44px;
  color:#111827;
}
.composer-drafts-btn[hidden]{display:none !important;}
.composer-drafts-count{
  min-width:26px;
  height:26px;
  padding:0 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#111827;
  color:#fff;
  font-size:13px;
  line-height:1;
  font-weight:900;
  box-shadow:0 6px 16px rgba(17,24,39,.18);
}
.composer-drafts-btn:active .composer-drafts-count{transform:scale(.96);}
.composer-drafts-overlay{
  position:fixed;
  inset:0;
  z-index:190;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:rgba(15,23,42,.34);
  padding:16px 12px calc(16px + env(safe-area-inset-bottom) + var(--vv-bottom));
}
.composer-drafts-sheet{
  width:min(560px, 100%);
  max-height:min(78vh, 640px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
}
.composer-drafts-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 18px 12px;
  border-bottom:1px solid #edf1f6;
}
.composer-drafts-title{
  margin:0;
  font-size:19px;
  line-height:1.2;
  font-weight:900;
  color:#111827;
}
.composer-drafts-close{
  width:40px;
  height:40px;
  border:0;
  border-radius:999px;
  background:#f4f6f8;
  color:#111827;
  font-size:24px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}
.composer-drafts-list{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:4px 0;
}
.composer-draft-row{
  width:100%;
  min-height:72px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:13px 18px;
  border:0;
  border-bottom:1px solid #edf1f6;
  background:#fff;
  color:#111827;
  text-align:left;
  cursor:pointer;
}
.composer-draft-row:active{background:#f8fafc;}
.composer-draft-row-main{min-width:0;}
.composer-draft-row-title{
  display:block;
  font-size:16px;
  line-height:1.25;
  font-weight:900;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.composer-draft-row-preview{
  display:block;
  margin-top:4px;
  color:#6b7280;
  font-size:13px;
  line-height:1.25;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.composer-draft-row-meta{
  display:block;
  margin-top:4px;
  color:#9ca3af;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}
.composer-draft-delete{
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff1f2;
  color:#dc2626;
  font-size:21px;
  font-weight:900;
  line-height:1;
  cursor:pointer;
}
.composer-draft-delete:active{transform:scale(.96);}
.composer-drafts-empty{
  padding:28px 18px 30px;
  color:#6b7280;
  text-align:center;
  font-size:15px;
  font-weight:800;
}
:root[data-theme="dark"] .composer-drafts-count{background:#f8fafc;color:#111827;}
:root[data-theme="dark"] .composer-drafts-overlay{background:rgba(0,0,0,.56);}
:root[data-theme="dark"] .composer-drafts-sheet,
:root[data-theme="dark"] .composer-draft-row{background:#111827;color:#f8fafc;}
:root[data-theme="dark"] .composer-drafts-head,
:root[data-theme="dark"] .composer-draft-row{border-color:rgba(255,255,255,.10);}
:root[data-theme="dark"] .composer-drafts-title{color:#f8fafc;}
:root[data-theme="dark"] .composer-drafts-close{background:rgba(255,255,255,.10);color:#f8fafc;}
:root[data-theme="dark"] .composer-draft-row:active{background:rgba(255,255,255,.06);}
:root[data-theme="dark"] .composer-draft-row-preview{color:#cbd5e1;}
:root[data-theme="dark"] .composer-draft-row-meta{color:#94a3b8;}
:root[data-theme="dark"] .composer-draft-delete{background:rgba(220,38,38,.16);color:#fecaca;}
@media (max-width:420px){
  .composer-drafts-sheet{border-radius:24px 24px 0 0;}
  .composer-drafts-overlay{padding-left:0;padding-right:0;padding-bottom:calc(env(safe-area-inset-bottom) + var(--vv-bottom));}
}
.composer-draft-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #edf1f6;background:#fff;}
.composer-draft-open{min-width:0;min-height:72px;padding:13px 0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;}
.composer-draft-open:active{opacity:.72;}
:root[data-theme="dark"] .composer-draft-open{color:#f8fafc;}
.composer-draft-open{width:100%;display:block;}

/* === Clean Edit Profile page === */
.profile-edit-page{
  width:100%;
  max-width:920px;
  margin:0 auto;
  padding:2px 0 28px;
}
.profile-edit-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:6px 0 18px;
  border-bottom:1px solid var(--border);
  margin-bottom:16px;
}
.profile-edit-hero-copy h1{
  margin:4px 0 4px;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.profile-edit-hero-copy p{
  margin:0;
  max-width:540px;
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.profile-edit-hero-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  min-width:240px;
}
.profile-action-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:9px 12px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--text);
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  touch-action:manipulation;
}
.profile-action-chip-icon{
  width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--text);
  line-height:1;
  flex:0 0 auto;
}
.profile-action-chip-icon svg{
  width:18px;
  height:18px;
  fill:currentColor;
  display:block;
}
.profile-action-chip-icon-blue{
  background:#1976d2;
  color:#fff;
  font-size:12px;
}
.profile-edit-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.profile-edit-panel{
  border:1px solid var(--border);
  border-radius:24px;
  background:var(--card);
  padding:18px;
}
.profile-edit-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.profile-edit-section-head h2{
  margin:0 0 4px;
  font-size:18px;
  line-height:1.2;
  letter-spacing:-.02em;
}
.profile-edit-section-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.profile-media-grid{
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(0,1fr);
  gap:12px;
  margin-bottom:16px;
}
.profile-media-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(15,23,42,.025),rgba(15,23,42,.01));
  padding:14px;
  min-width:0;
}
.profile-media-card-avatar{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:182px;
}
.profile-media-label{
  align-self:flex-start;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.profile-edit-avatar-preview{
  width:92px;
  height:92px;
  border-radius:30px;
  border:1px solid var(--border);
  object-fit:cover;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.08);
}
.profile-media-card-banner{
  min-height:182px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.profile-edit-banner-preview{
  flex:1 1 auto;
  min-height:110px;
  border-radius:18px;
  border:1px dashed rgba(100,116,139,.32);
  background:
    radial-gradient(circle at 20% 20%,rgba(59,130,246,.16),transparent 28%),
    linear-gradient(135deg,rgba(15,23,42,.06),rgba(15,23,42,.015));
}
.profile-edit-banner-preview.has-image{
  border-style:solid;
  background-image:var(--ep-banner);
  background-size:cover;
  background-position:center;
}
.profile-file-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  max-width:100%;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  color:#111;
  padding:9px 12px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
  user-select:none;
  touch-action:manipulation;
}
.profile-media-card-avatar .profile-file-button{align-self:center;}
.profile-file-button input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.profile-edit-grid{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.profile-edit-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.profile-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}
.profile-field > span{
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.profile-field .input,
.profile-edit-page .input{
  border-radius:16px;
  min-height:48px;
  border-color:var(--border);
  background:#fff;
  color:#111;
  font-weight:700;
}
.profile-field textarea.input{
  min-height:112px;
  line-height:1.45;
  font-weight:650;
}
.profile-field small{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.profile-bio-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.profile-bio-foot .line-counter{
  position:static;
  display:inline-flex;
  align-items:center;
  gap:0;
  border:1px solid var(--border);
  background:#fff;
  color:var(--muted);
  box-shadow:none;
  padding:5px 9px;
  flex:0 0 auto;
}
.profile-switch-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.profile-switch-row{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(248,250,252,.72);
  color:var(--text);
  cursor:pointer;
  user-select:none;
  min-width:0;
  touch-action:manipulation;
}
.profile-switch-row-compact{
  margin-top:12px;
  min-height:50px;
}
.profile-switch-row input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.profile-switch-ui{
  position:relative;
  width:44px;
  height:26px;
  flex:0 0 44px;
  border-radius:999px;
  background:#d7dce4;
  transition:background .16s ease;
}
.profile-switch-ui::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 1px 4px rgba(15,23,42,.22);
  transition:transform .16s ease;
}
.profile-switch-row input:checked + .profile-switch-ui{
  background:#111;
}
.profile-switch-row input:checked + .profile-switch-ui::after{
  transform:translateX(18px);
}
.profile-switch-row input:focus-visible + .profile-switch-ui{
  outline:3px solid rgba(37,99,235,.22);
  outline-offset:2px;
}
.profile-switch-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  font-size:14px;
  font-weight:850;
  line-height:1.25;
}
.profile-switch-copy small{
  color:var(--muted);
  font-weight:700;
  font-size:12px;
  line-height:1.35;
}
.profile-edit-savebar{
  position:sticky;
  bottom:calc(66px + env(safe-area-inset-bottom));
  z-index:30;
  display:flex;
  gap:10px;
  justify-content:flex-end;
  padding:12px;
  border:1px solid var(--border);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
  box-shadow:0 14px 34px rgba(15,23,42,.10);
}
.profile-edit-savebar .btn{
  min-width:150px;
  text-align:center;
}
.profile-edit-security-panel{
  margin-top:14px;
}
.profile-security-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.profile-security-actions .btn,
.profile-logout-form .btn{
  min-height:44px;
}
.profile-logout-form{
  margin:0;
  display:inline-flex;
}
.profile-delete-warning{
  margin:10px 0 0;
  line-height:1.4;
}
@media (max-width:760px){
  .profile-edit-page{
    padding-bottom:18px;
  }
  .profile-edit-hero{
    flex-direction:column;
    gap:12px;
    padding:2px 0 14px;
  }
  .profile-edit-hero-copy h1{
    font-size:25px;
  }
  .profile-edit-hero-actions{
    width:100%;
    min-width:0;
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:2px;
  }
  .profile-action-chip{
    flex:0 0 auto;
  }
  .profile-edit-panel{
    border-radius:22px;
    padding:14px;
  }
  .profile-media-grid,
  .profile-edit-grid.two,
  .profile-switch-list{
    grid-template-columns:1fr;
  }
  .profile-media-card-avatar{
    min-height:auto;
    align-items:flex-start;
  }
  .profile-edit-avatar-preview{
    width:82px;
    height:82px;
    border-radius:26px;
  }
  .profile-media-card-avatar .profile-file-button{
    align-self:flex-start;
  }
  .profile-edit-savebar{
    bottom:calc(68px + env(safe-area-inset-bottom));
    border-radius:20px;
    padding:10px;
  }
  .profile-edit-savebar .btn{
    min-width:0;
    flex:1;
  }
  .profile-security-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .profile-logout-form,
  .profile-logout-form .btn,
  .profile-security-actions .btn{
    width:100%;
  }
}
:root[data-theme="dark"] .profile-action-chip,
:root[data-theme="dark"] .profile-edit-panel{
  background:var(--card);
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .profile-media-card{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .profile-edit-banner-preview{
  border-color:rgba(255,255,255,.16);
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
}
:root[data-theme="dark"] .profile-file-button,
:root[data-theme="dark"] .profile-field .input,
:root[data-theme="dark"] .profile-edit-page .input,
:root[data-theme="dark"] .profile-bio-foot .line-counter{
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .profile-switch-row{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .profile-switch-ui{
  background:rgba(255,255,255,.18);
}
:root[data-theme="dark"] .profile-switch-row input:checked + .profile-switch-ui{
  background:#f3f4f6;
}
:root[data-theme="dark"] .profile-switch-row input:checked + .profile-switch-ui::after{
  background:#111;
}
:root[data-theme="dark"] .profile-edit-savebar{
  background:rgba(16,21,29,.90);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 14px 34px rgba(0,0,0,.24);
}
.profile-media-grid.one{grid-template-columns:minmax(180px,280px)}
@media (max-width:760px){.profile-media-grid.one{grid-template-columns:1fr}}

/* === Message center: private messages + notifications in one inbox === */
.pm-center-card{padding:14px!important;}
.pm-center-head{margin-bottom:10px!important;}
.pm-center-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 14px;}
.pm-center-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--line,#e5e7eb);border-radius:999px;background:var(--bg-soft,#f5f6f8);color:var(--muted,#6b7280);text-decoration:none;font-weight:800;font-size:14px;white-space:nowrap;}
.pm-center-tab.is-active{background:#111;color:#fff;border-color:#111;}
.pm-center-tab b{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 7px;border-radius:999px;background:#2563eb;color:#fff;font-size:12px;line-height:1;}
.pm-center-tab.is-active b{background:#fff;color:#111;}
.pm-empty{padding:18px 2px;font-size:14px;}
.pm-notif-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px;}
.pm-notif-actions form{margin:0;}
.pm-notif-list{display:grid;gap:0;}
.pm-notif-item{border:0!important;border-bottom:1px solid var(--line,#eceef2)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:13px 2px!important;margin:0!important;}
.pm-notif-item:last-child{border-bottom:0!important;}
.pm-notif-item.is-unread .kicker{color:#111;font-weight:900;}
.pm-notif-head{align-items:center;margin-bottom:8px;}
.pm-notif-row{margin-top:0!important;gap:8px;}
.pm-notif-copy{font-size:15px;line-height:1.42;color:var(--text,#111);}
.pm-notif-copy a{color:inherit;text-decoration:none;}
.pm-notif-copy a:hover{text-decoration:underline;}
.pm-notif-link{font-size:14px!important;font-weight:800!important;color:#2563eb!important;}
.pm-notif-badge{display:flex;align-items:center;gap:12px;}
.pm-notif-badge-title{margin-top:3px;font-weight:900;}
.notif-badge-icon img,.notif-badge-icon span{width:48px;height:48px;border-radius:14px;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#eef2ff;font-size:26px;}
@media (max-width:700px){
  .pm-center-card{padding:10px 14px!important;}
  .pm-center-head{align-items:flex-end;}
  .pm-center-head .h1{font-size:28px!important;}
  .pm-center-tabs{gap:7px;margin-bottom:12px;}
  .pm-center-tab{min-height:42px;padding:8px 10px;font-size:13px;}
  .pm-notif-actions .btn{padding:10px 13px!important;border-radius:999px!important;font-size:13px!important;}
  .pm-notif-item{padding:13px 0!important;}
  .pm-notif-copy{font-size:15px;}
}
:root[data-theme="dark"] .pm-center-tab{background:#1f2127;color:#c8cbd2;border-color:#333640;}
:root[data-theme="dark"] .pm-center-tab.is-active{background:#f4f4f5;color:#111;border-color:#f4f4f5;}
:root[data-theme="dark"] .pm-notif-item.is-unread .kicker,
:root[data-theme="dark"] .pm-notif-copy{color:#f4f4f5;}

/* === FIX 2026-05-09: keep active profile tab visible after reload/Ajax === */
.profile-tabs-static .p2-tabs,
[data-profile-tabs-static] .p2-tabs,
.profile-tabs{
  scroll-padding-left:18px !important;
  scroll-padding-right:18px !important;
}
.profile-tabs-static .p2-tabs .seg-btn.active,
[data-profile-tabs-static] .p2-tabs .seg-btn.active,
.profile-tabs .seg-btn.active{
  scroll-margin-left:18px !important;
  scroll-margin-right:18px !important;
}

/* === FIX 2026-05-09: solid global header above profile/feed content ===
   On iOS/PWA profile navigation the fixed header could render visually transparent
   while the profile feed was scrolled behind it. Keep the topbar as a real solid
   surface and always above sticky feed/profile layers. */
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:1300 !important;
  background:#fff !important;
  background-color:#fff !important;
  border-bottom:1px solid #eceef2 !important;
  box-shadow:0 1px 0 rgba(17,24,39,.03) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  isolation:isolate !important;
}
.topbar::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:#fff;
  pointer-events:none;
}
.topbar-inner{
  position:relative !important;
  z-index:1 !important;
  background:transparent !important;
}
:root[data-theme="dark"] .topbar{
  background:#10151d !important;
  background-color:#10151d !important;
  border-bottom-color:rgba(255,255,255,.08) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.03) !important;
}
:root[data-theme="dark"] .topbar::before{
  background:#10151d !important;
}


/* === FIX 2026-05-09: post detail fullscreen media viewer with bottom previews === */
body.is-post .js-lightbox-media{
  cursor:zoom-in !important;
  -webkit-tap-highlight-color:transparent;
}
.lb{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  z-index:2147483647 !important;
  padding:0 !important;
  margin:0 !important;
  background:#000 !important;
  display:block !important;
  overflow:hidden !important;
  overscroll-behavior:none !important;
  touch-action:none;
}
.lb[hidden]{display:none !important;}
.lb-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:#000 !important;
  opacity:1 !important;
}
.lb-panel,
.lb.is-video .lb-panel{
  position:absolute !important;
  inset:0 !important;
  width:100vw !important;
  max-width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100vh !important;
  max-height:100dvh !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  background:#000 !important;
  overflow:hidden !important;
}
.lb-body{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  overflow:hidden !important;
}
.lb-stage{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  background:#000 !important;
  overscroll-behavior-x:contain;
  touch-action:pan-x pinch-zoom;
  scrollbar-width:none;
}
.lb-stage::-webkit-scrollbar{display:none;}
.lb-slide{
  flex:0 0 100% !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  scroll-snap-align:center;
  scroll-snap-stop:always;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  padding:calc(env(safe-area-inset-top) + 70px) 0 calc(env(safe-area-inset-bottom) + 96px) !important;
  background:#000 !important;
}
.lb-media,
.lb-media-video{
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100vw !important;
  max-height:calc(100vh - 168px) !important;
  max-height:calc(100dvh - 168px) !important;
  object-fit:contain !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#000 !important;
  user-select:none;
  -webkit-user-drag:none;
}
.lb-media-video{
  width:100vw !important;
  height:calc(100vh - 168px) !important;
  height:calc(100dvh - 168px) !important;
}
.lb-top{
  position:fixed !important;
  top:max(12px, calc(env(safe-area-inset-top) + 12px)) !important;
  left:max(12px, calc(env(safe-area-inset-left) + 12px)) !important;
  right:max(12px, calc(env(safe-area-inset-right) + 12px)) !important;
  z-index:2147483647 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:0 !important;
  pointer-events:none !important;
}
.lb-top > *{pointer-events:auto !important;}
.lb-close,
.lb-download,
.lb-nav{
  background:rgba(0,0,0,.56) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.35) !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.lb-close{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:400 !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.lb-download{
  min-height:46px !important;
  padding:0 18px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:15px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  cursor:pointer !important;
}
.lb-nav{
  position:fixed !important;
  z-index:2147483646 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  padding:0 !important;
  font-size:32px !important;
  line-height:39px !important;
  text-align:center !important;
  cursor:pointer !important;
}
.lb-nav[hidden]{display:none !important;}
.lb-prev{left:max(10px, calc(env(safe-area-inset-left) + 10px)) !important;}
.lb-next{right:max(10px, calc(env(safe-area-inset-right) + 10px)) !important;}
.lb-thumbs{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:2147483647 !important;
  min-height:82px !important;
  padding:10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
  display:flex !important;
  gap:9px !important;
  align-items:center !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  background:linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.34), rgba(0,0,0,0)) !important;
  pointer-events:auto !important;
}
.lb-thumbs[hidden]{display:none !important;}
.lb-thumbs::-webkit-scrollbar{display:none;}
.lb-thumb{
  position:relative !important;
  flex:0 0 auto !important;
  width:58px !important;
  height:58px !important;
  padding:0 !important;
  border-radius:14px !important;
  border:2px solid rgba(255,255,255,.28) !important;
  background:#111 !important;
  overflow:hidden !important;
  opacity:.72;
  cursor:pointer !important;
}
.lb-thumb.is-active{
  opacity:1;
  border-color:#fff !important;
}
.lb-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.lb-thumb-video{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:18px;
  background:rgba(0,0,0,.18);
  text-shadow:0 2px 8px rgba(0,0,0,.6);
}
html.lb-open,
body.lb-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
body.lb-open .post-detail-topbar,
body.lb-open .comment-composer,
body.lb-open .bottomnav,
body.lb-open .fab-compose,
body.lb-open .pwa-install,
body.lb-open .pwa-install-banner{
  visibility:hidden !important;
  pointer-events:none !important;
}
body.lb-open #lb,
body.lb-open #lb *{
  visibility:visible !important;
}
@media (max-width:520px){
  .lb-slide{
    padding:calc(env(safe-area-inset-top) + 64px) 0 calc(env(safe-area-inset-bottom) + 88px) !important;
  }
  .lb-media,
  .lb-media-video{
    max-height:calc(100vh - 152px) !important;
    max-height:calc(100dvh - 152px) !important;
  }
  .lb-media-video{
    height:calc(100vh - 152px) !important;
    height:calc(100dvh - 152px) !important;
  }
  .lb-close{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    font-size:32px !important;
  }
  .lb-download{
    min-height:44px !important;
    padding:0 16px !important;
  }
  .lb-nav{
    width:40px !important;
    height:40px !important;
    line-height:35px !important;
    font-size:30px !important;
  }
  .lb-thumb{
    width:54px !important;
    height:54px !important;
    border-radius:13px !important;
  }
}

/* Keep the fullscreen viewer swipeable while the page behind it stays locked. */
html.lb-open,
body.lb-open,
.lb,
.lb-panel,
.lb-body,
.lb-stage{
  touch-action:pan-x !important;
}

/* === FIX 2026-05-09B: reliable post-detail media fullscreen viewer, no side arrows === */
body.is-post .feeditem .js-lightbox-media{
  cursor:zoom-in !important;
  -webkit-tap-highlight-color:transparent !important;
}
body.is-post .feeditem .fi-video-open{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:#000 !important;
  overflow:hidden !important;
  color:inherit !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
body.is-post .feeditem .fi-media:not(.fi-media-grid) .fi-video-open{
  height:auto !important;
}
body.is-post .feeditem .fi-video-open .post-video{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  pointer-events:none !important;
  background:#000 !important;
}
body.is-post .feeditem .fi-media:not(.fi-media-grid) .fi-video-open .post-video{
  height:auto !important;
  object-fit:cover !important;
}
body.is-post .feeditem .fi-video-open-play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:58px !important;
  height:58px !important;
  transform:translate(-50%,-50%) !important;
  border-radius:999px !important;
  display:grid !important;
  place-items:center !important;
  background:rgba(0,0,0,.58) !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1 !important;
  padding-left:4px !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28) !important;
  pointer-events:none !important;
}
.lb .lb-nav,
.lb-nav,
.lb-prev,
.lb-next{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.lb-stage{
  cursor:grab;
}
.lb-stage:active{
  cursor:grabbing;
}

/* === FIX 2026-05-09: keep fullscreen download inside post on iOS === */
.lb-download[disabled],
.lb-download.is-loading{
  opacity:.72 !important;
  cursor:wait !important;
}
/* Feed media counter: shows that a post contains multiple uploaded media files.
   Position is intentionally bottom-left so it sits in the marked media corner. */
.fi-media-counter{
  position:absolute;
  top:auto;
  right:auto;
  bottom:8px;
  left:8px;
  z-index:8;
  min-width:34px;
  height:26px;
  padding:0 9px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.82);
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  pointer-events:none;
}
.fi-media-counter-mini{top:auto;right:auto;bottom:8px;left:8px;min-width:32px;height:24px;font-size:11px;padding:0 8px}
/* If a compact link/domain pill exists at the bottom, keep the media counter visible above it. */
.fi-minithumb:has(.fi-minithumb-site) .fi-media-counter-mini{bottom:auto;top:8px;left:8px;right:auto}
.fi-lightbox-extra{display:none !important}

/* Detail media grid: compact 4-tile preview with extra-media counter on tile 4 */
.fi-media-more-counter{
  position:absolute;
  inset:0;
  z-index:9;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.58);
  color:#fff;
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
  pointer-events:none;
  backdrop-filter:blur(1px);
  -webkit-backdrop-filter:blur(1px);
}
@media (max-width:520px){
  .fi-media-more-counter{font-size:26px;}
}


/* Admin-configurable frontend theme colors */
body{background:var(--theme-page-bg,var(--bg,#fff));color:var(--theme-text,var(--text,#111827));}
h1,h2,h3,.h1,.fi-title,.fi-titlelink,.post-title,.page-title,.section-title,.profile-name,.item-title,.modal-title,.sheet-title{color:var(--theme-title,#111827);}
.fi-text,.fi-text-body,.ucom-body,.comment-body,.profile-bio,.composer,.form,.item-main,.auth-login,.auth-login *:not(a):not(button),.register-flow{color:var(--theme-text,#111827);}
.richtext a,.richtext a:visited,.rt-mention,.rt-mention:visited,.url-link,.post-url,.post-cat,.notif-view-link,.pm-notif-link,.ucom-meta a,.fi-link-minimal a{color:var(--theme-url,#2563eb)!important;}
.btn:not(.alt):not(.danger),button.btn:not(.alt):not(.danger),.register-primary-btn,.composer-submit,.fab-compose,.auth-choice-modal__btn:not(.alt),.onboarding-actions-v2 .btn:not(.alt){background:var(--theme-button-bg,#111)!important;border-color:var(--theme-button-bg,#111)!important;color:var(--theme-button-text,#fff)!important;}
.btn:not(.alt):not(.danger) svg,button.btn:not(.alt):not(.danger) svg,.fab-compose svg{fill:currentColor;stroke:currentColor;}
.btn.alt{color:var(--theme-button-bg,#111);}
.check input,input[type="checkbox"],input[type="radio"]{accent-color:var(--theme-button-bg,#111);}
.badge,.opbadge,.register-country-row.is-selected em,.register-category-row.is-selected em,.pm-row__badge,.pm-center-tab b{background:var(--theme-button-bg,#111)!important;color:var(--theme-button-text,#fff)!important;}
.fi-pin-badge{background:color-mix(in srgb,var(--theme-url,#2563eb) 12%,transparent)!important;color:var(--theme-url,#2563eb)!important;}
.composer-category-count{background:color-mix(in srgb,var(--theme-url,#2563eb) 10%,#fff)!important;border-color:color-mix(in srgb,var(--theme-url,#2563eb) 24%,#fff)!important;color:var(--theme-url,#2563eb)!important;}
.cat-suggest-name{color:var(--theme-url,#2563eb)!important;}
:focus-visible{outline-color:var(--theme-url,#2563eb);}


/* === FIX 2026-05-10: Admin theme controls for bottom tab + compose button === */
.bottomnav,
.bottomnav.bottomnav-user{
  background:var(--theme-tab-bg,#ffffff) !important;
  border-top-color:color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 18%,transparent) !important;
}
.bottomnav .bn-item,
.bottomnav .bn-item:visited,
.bottomnav .bn-ico,
.bottomnav .bn-label{
  color:var(--theme-tab-icon,#9aa0a6) !important;
}
.bottomnav .bn-ico svg,
.bottomnav .bn-item svg{
  fill:currentColor !important;
  stroke:currentColor !important;
}
.bottomnav .bn-item.is-active,
.bottomnav .bn-item[aria-current="page"]{
  color:var(--theme-button-bg,#111111) !important;
}
.bottomnav .bn-item.is-active .bn-ico,
.bottomnav .bn-item.is-active .bn-label,
.bottomnav .bn-item[aria-current="page"] .bn-ico,
.bottomnav .bn-item[aria-current="page"] .bn-label{
  color:var(--theme-button-bg,#111111) !important;
}
.bottomnav .bn-badge,
.bottomnav .badge{
  background:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
}
.bn-compose .bn-compose-btn,
.fab-compose,
a.fab-compose{
  background:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
  border-color:var(--theme-button-bg,#111111) !important;
}
.bn-compose .bn-compose-btn svg,
.fab-compose svg,
a.fab-compose svg{
  fill:currentColor !important;
  stroke:currentColor !important;
}
:root[data-theme="dark"] .bottomnav,
:root[data-theme="dark"] .bottomnav.bottomnav-user{
  background:var(--theme-tab-bg,rgba(17,24,35,.92)) !important;
  border-top-color:color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 24%,transparent) !important;
}
:root[data-theme="dark"] .bottomnav a,
:root[data-theme="dark"] .bottomnav button,
:root[data-theme="dark"] .bottomnav .bn-item{
  color:var(--theme-tab-icon,#9aa0a6) !important;
}
:root[data-theme="dark"] .bottomnav .bn-item.is-active,
:root[data-theme="dark"] .bottomnav .bn-item[aria-current="page"]{
  color:var(--theme-button-bg,#111111) !important;
}


/* === 2026-05-10: clean feed footer / SEO pager === */
.load-more,
#post-list .load-more,
.profile-feed .load-more,
.search-results .load-more{
  width:auto !important;
  min-width:158px !important;
  max-width:calc(100% - 32px) !important;
  min-height:42px !important;
  margin:22px auto 14px !important;
  padding:11px 22px !important;
  border:1px solid var(--theme-button-bg,#111111) !important;
  border-radius:999px !important;
  background:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
  box-shadow:none !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}
.load-more:hover,
#post-list .load-more:hover,
.profile-feed .load-more:hover,
.search-results .load-more:hover{
  background:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
}
.load-more:active,
#post-list .load-more:active,
.profile-feed .load-more:active,
.search-results .load-more:active{
  transform:translateY(1px);
  opacity:.82;
}
.load-more:disabled{
  opacity:.45 !important;
  transform:none !important;
}
.seo-feed-pager{
  width:min(100%,440px) !important;
  margin:14px auto calc(28px + env(safe-area-inset-bottom)) !important;
  padding:14px !important;
  border:1px solid var(--border,#eceef2) !important;
  border-radius:24px !important;
  background:var(--theme-page-bg,#ffffff) !important;
  box-shadow:0 12px 34px rgba(17,24,39,.08) !important;
  text-align:center !important;
}
.seo-feed-pager__meta{
  margin:0 0 10px !important;
  color:var(--muted,#6b7280) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.01em !important;
}
.seo-feed-pager__actions{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
}
.seo-feed-pager__btn,
.seo-feed-pager .btn{
  flex:1 1 0 !important;
  min-width:0 !important;
  min-height:42px !important;
  padding:11px 14px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1 !important;
  box-shadow:none !important;
}
.seo-feed-pager__actions .seo-feed-pager__btn:only-child,
.seo-feed-pager__actions .btn:only-child{
  flex:0 1 auto !important;
  min-width:190px !important;
}
.seo-feed-pager__archive{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:12px !important;
  color:var(--theme-url,#2563eb) !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}
.seo-feed-pager__archive:hover{text-decoration:underline !important;}
.archive-pager{margin-top:22px !important;}
@media (max-width:520px){
  .seo-feed-pager{
    width:calc(100% - 32px) !important;
    margin-top:12px !important;
    padding:12px !important;
    border-radius:22px !important;
  }
  .seo-feed-pager__actions{gap:8px !important;}
  .seo-feed-pager__btn,
  .seo-feed-pager .btn{
    min-height:40px !important;
    padding:10px 12px !important;
    font-size:13px !important;
  }
  .seo-feed-pager__actions .seo-feed-pager__btn:only-child,
  .seo-feed-pager__actions .btn:only-child{
    min-width:168px !important;
  }
}
:root[data-theme="dark"] .seo-feed-pager{
  background:var(--theme-page-bg,#111827) !important;
  border-color:rgba(255,255,255,.14) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.28) !important;
}

/* === 2026-05-10: simpler feed footer pager === */
.load-more,
#post-list .load-more,
.profile-feed .load-more,
.search-results .load-more{
  min-width:138px !important;
  min-height:38px !important;
  margin:22px auto 8px !important;
  padding:10px 20px !important;
  border-radius:999px !important;
  font-size:14px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}
.seo-feed-pager,
.seo-feed-pager.seo-feed-pager--minimal,
.pager.card.seo-feed-pager{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  width:100% !important;
  max-width:100% !important;
  margin:8px auto calc(26px + env(safe-area-inset-bottom)) !important;
  padding:0 16px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
}
.seo-feed-pager__meta{
  display:inline !important;
  margin:0 !important;
  color:var(--muted,#6b7280) !important;
  font-size:13px !important;
  font-weight:750 !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}
.seo-feed-pager__sep{
  display:inline !important;
  color:var(--muted,#9ca3af) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
}
.seo-feed-pager__link,
.seo-feed-pager__archive{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--theme-url,#2563eb) !important;
  font-size:13px !important;
  font-weight:750 !important;
  line-height:1.45 !important;
  text-decoration:none !important;
}
.seo-feed-pager__link:hover,
.seo-feed-pager__archive:hover{
  text-decoration:underline !important;
}
.seo-feed-pager__actions{
  display:contents !important;
}
.seo-feed-pager__btn,
.seo-feed-pager .btn{
  display:inline !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--theme-url,#2563eb) !important;
  font-size:13px !important;
  font-weight:750 !important;
  line-height:1.45 !important;
}
.archive-pager{margin-top:16px !important;}
:root[data-theme="dark"] .seo-feed-pager,
:root[data-theme="dark"] .seo-feed-pager.seo-feed-pager--minimal{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
@media (max-width:520px){
  .seo-feed-pager,
  .seo-feed-pager.seo-feed-pager--minimal,
  .pager.card.seo-feed-pager{
    width:100% !important;
    padding:0 18px !important;
    margin-top:8px !important;
  }
}

/* === 2026-05-10: independent single-post title/text font sizes === */
body.is-post .feeditem .fi-title,
body.is-post .feeditem .fi-titlelink{
  font-size:var(--fs-single-post-title,var(--fs-post-title,20px)) !important;
}
body.is-post .feeditem .fi-text,
body.is-post .feeditem .fi-text-body{
  font-size:var(--fs-single-post-text,var(--fs-post-text,16px)) !important;
}

/* === 2026-05-10: Home header controls + sidebar messages + bottom profile === */
body.feed-header-controls .topbar-center--scope{
  max-width:min(58vw,360px) !important;
  pointer-events:auto !important;
}
body.feed-header-controls .topbar-center--scope .feed-scope-menu{
  pointer-events:auto;
}
body.feed-header-controls .topbar-center--scope .feed-scope-trigger{
  min-height:42px !important;
  padding:0 8px !important;
  border:0 !important;
  border-radius:12px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--text,#111827) !important;
}
body.feed-header-controls .topbar-center--scope .feed-scope-flag{font-size:20px !important;}
body.feed-header-controls .topbar-center--scope .feed-scope-label{
  max-width:min(34vw,230px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text,#111827) !important;
  font-size:16px !important;
  font-weight:850 !important;
}
body.feed-header-controls .topbar-center--scope .feed-scope-caret{
  color:var(--muted,#6b7280) !important;
  font-size:13px !important;
}
body.feed-header-controls .topbar-center--scope .feed-scope-sheet{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  top:calc(100% + 10px) !important;
  z-index:1405 !important;
}
body.feed-header-controls .topbar-right .feed-sort-menu{
  position:relative;
  pointer-events:auto;
}
body.feed-header-controls .topbar-right .feed-sort-trigger{
  min-height:42px !important;
  padding:0 8px !important;
  border:0 !important;
  border-radius:12px !important;
  background:transparent !important;
  box-shadow:none !important;
  color:var(--text,#111827) !important;
}
body.feed-header-controls .topbar-right .feed-sort-trigger::after{display:none !important;}
body.feed-header-controls .topbar-right .feed-sort-icon svg{width:18px !important;height:18px !important;opacity:.72;}
body.feed-header-controls .topbar-right .feed-sort-kicker{display:none !important;}
body.feed-header-controls .topbar-right .feed-sort-current{
  color:var(--text,#111827) !important;
  font-size:15px !important;
  font-weight:850 !important;
}
body.feed-header-controls .topbar-right .feed-sort-caret{font-size:14px !important;color:var(--muted,#6b7280) !important;}
body.feed-header-controls .topbar-right .feed-sort-sheet{
  top:calc(100% + 10px) !important;
  right:0 !important;
  z-index:1405 !important;
}
body.feed-header-controls .feed-sortbar{
  justify-content:center !important;
  gap:0 !important;
}
body.feed-header-controls .feed-sortbar:empty{display:none !important;}
body.feed-header-controls .feed-sortbar .feed-inline-search{
  flex:1 1 auto;
  width:min(100%,460px);
  margin:6px auto;
}
.bn-ico-avatar{
  width:26px !important;
  height:26px !important;
  border-radius:999px;
  overflow:hidden;
  background:#eef1f5;
  border:1px solid rgba(17,24,39,.08);
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.bn-ico-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.drawer-section--messages{
  padding-top:4px !important;
  padding-bottom:6px !important;
}
.drawer-message-shortcut{
  min-height:48px;
  border:1px solid rgba(17,24,39,.06);
  background:#fff;
}
.drawer-message-shortcut .drawer-badge{margin-left:auto;}
@media (max-width:520px){
  body.feed-header-controls .topbar-center--scope{max-width:50vw !important;}
  body.feed-header-controls .topbar-center--scope .feed-scope-label{max-width:31vw;font-size:15px !important;}
  body.feed-header-controls .topbar-right .feed-sort-current{font-size:14px !important;}
  body.feed-header-controls .topbar-right .feed-sort-trigger{gap:5px !important;padding:0 4px !important;}
  body.feed-header-controls .topbar-center--scope .feed-scope-trigger{gap:6px !important;padding:0 4px !important;}
}
:root[data-theme="dark"] body.feed-header-controls .topbar-center--scope .feed-scope-trigger,
:root[data-theme="dark"] body.feed-header-controls .topbar-right .feed-sort-trigger{
  background:transparent !important;
  color:#f8fafc !important;
}
:root[data-theme="dark"] body.feed-header-controls .topbar-center--scope .feed-scope-label,
:root[data-theme="dark"] body.feed-header-controls .topbar-right .feed-sort-current{color:#f8fafc !important;}
:root[data-theme="dark"] .drawer-message-shortcut{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);}


/* === Header menu badge + guest auth drawer actions === */
.iconbtn-menu{
  position:relative;
}
.iconbtn-menu--guest svg{
  width:21px;
  height:21px;
}
.topbar-menu-badge{
  position:absolute;
  right:1px;
  bottom:1px;
  min-width:17px;
  height:17px;
  padding:0 5px;
  border-radius:999px;
  background:var(--theme-button-bg,#111111);
  color:var(--theme-button-text,#ffffff);
  border:2px solid var(--theme-tab-bg,var(--bg,#ffffff));
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:900;
  line-height:1;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}
.drawer-auth-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:4px 0 12px;
}
.drawer-auth-btn{
  min-height:44px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:15px;
  font-weight:800;
  line-height:1;
  border:1px solid rgba(17,24,39,.10);
}
.drawer-auth-btn--primary{
  background:var(--theme-button-bg,#111111);
  border-color:var(--theme-button-bg,#111111);
  color:var(--theme-button-text,#ffffff);
}
.drawer-auth-btn--secondary{
  background:rgba(17,24,39,.06);
  color:var(--text,#111827);
}
.drawer-auth-btn:active{
  transform:translateY(1px);
}
:root[data-theme="dark"] .topbar-menu-badge{
  border-color:var(--theme-tab-bg,#0b0f14);
}
:root[data-theme="dark"] .drawer-auth-btn--secondary{
  background:rgba(255,255,255,.08);
  color:#f8fafc;
  border-color:rgba(255,255,255,.10);
}

/* === Header auth/menu icon theme color ===
   Keep the top-left guest login icon and logged-in hamburger icon tied to
   the admin configured Button background color. */
.topbar-left .iconbtn-menu,
.topbar-left .iconbtn-menu:visited,
.topbar .iconbtn.js-auth-modal-open,
.topbar .iconbtn.js-auth-modal-open:visited{
  color:var(--theme-button-bg,var(--primary,#111111)) !important;
}
.topbar-left .iconbtn-menu svg,
.topbar-left .iconbtn-menu svg path,
.topbar .iconbtn.js-auth-modal-open svg,
.topbar .iconbtn.js-auth-modal-open svg path{
  fill:var(--theme-button-bg,var(--primary,#111111)) !important;
}

/* === FIX 2026-05-10: composer/edit submit buttons must use admin button color === */
.composer-postbtn:not([disabled]),
.composer-toolbar-submit:not([disabled]),
button.composer-postbtn:not([disabled]),
button.composer-toolbar-submit:not([disabled]),
.modal-btn.primary,
button.modal-btn.primary,
[data-save].modal-btn.primary{
  background:var(--theme-button-bg,#111111) !important;
  border-color:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
}
.composer-postbtn:not([disabled]) svg,
.composer-toolbar-submit:not([disabled]) svg,
.modal-btn.primary svg,
button.modal-btn.primary svg{
  fill:currentColor !important;
  stroke:currentColor !important;
}


/* Feed video autoplay: hide the static play badge once the real video starts. */
.fi-minithumb video.post-video.is-autoplaying + .fi-minithumb-play,
.fi-media video.post-video.is-autoplaying ~ .fi-video-open-play,
.fi-media-cell video.post-video.is-autoplaying ~ .fi-video-open-play{
  opacity:0;
  pointer-events:none;
}


/* === FIX 2026-05-10F: clean minimal video thumbs + simple feed speaker === */
body.feed-view-minimal .feeditem.feeditem-minimal .fi-minithumb-play,
.feeditem.feeditem-urlmediacompact .fi-minithumb-play,
.feeditem.feeditem-urlcompact .fi-minithumb-play,
.fi-minithumb > .video-audio-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.fi-media > .video-audio-toggle,
.fi-media-cell > .video-audio-toggle{
  position:absolute !important;
  right:10px !important;
  bottom:10px !important;
  z-index:7 !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(0,0,0,.42) !important;
  color:#fff !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  font-size:0 !important;
  line-height:1 !important;
  cursor:pointer !important;
  -webkit-tap-highlight-color:transparent !important;
}
.fi-media > .video-audio-toggle.is-on,
.fi-media-cell > .video-audio-toggle.is-on{
  background:rgba(0,0,0,.54) !important;
}
.fi-media > .video-audio-toggle svg,
.fi-media-cell > .video-audio-toggle svg{
  width:16px !important;
  height:16px !important;
  display:block !important;
  fill:currentColor !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-media > .video-audio-toggle,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-media-cell > .video-audio-toggle{
  display:none !important;
}

/* === FIX 2026-05-10F: visible feed video audio button === */
.fi-media > .video-audio-toggle,
.fi-media-cell > .video-audio-toggle{
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  z-index:40 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.66) !important;
  background:rgba(0,0,0,.72) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  box-shadow:0 6px 18px rgba(0,0,0,.38) !important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  -webkit-tap-highlight-color:transparent;
}
.fi-media > .video-audio-toggle.is-on,
.fi-media-cell > .video-audio-toggle.is-on{
  background:rgba(255,102,0,.92) !important;
  border-color:rgba(255,255,255,.72) !important;
}
.fi-media > .video-audio-toggle svg,
.fi-media-cell > .video-audio-toggle svg{
  width:19px !important;
  height:19px !important;
  display:block !important;
  fill:currentColor !important;
  color:#fff !important;
  opacity:1 !important;
}
.fi-media > .video-audio-toggle span,
.fi-media-cell > .video-audio-toggle span{
  display:none !important;
}
.feed-view-minimal .video-audio-toggle,
.fi-minithumb .video-audio-toggle,
.fi-linkcompact-row .video-audio-toggle{
  display:none !important;
}

/* === FIX 2026-05-10H: make feed video audio button tappable on iOS === */
.fi-media > video.post-video[data-feed-video="1"],
.fi-media-cell > video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
  position:relative;
  z-index:1;
}
.fi-media > .video-audio-toggle,
.fi-media-cell > .video-audio-toggle{
  z-index:2147483647 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
}
.fi-media > .video-audio-toggle *,
.fi-media-cell > .video-audio-toggle *{
  pointer-events:none !important;
}

/* === FIX 2026-05-10J: reliable speaker hit target above iOS video layer === */
.fi-media > .video-audio-toggle,
.fi-media-cell > .video-audio-toggle{
  z-index:2147483647 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  isolation:isolate !important;
}
.fi-media > .video-audio-toggle svg,
.fi-media-cell > .video-audio-toggle svg{
  pointer-events:none !important;
}
.feed-view-minimal .video-audio-toggle,
.fi-minithumb .video-audio-toggle,
.fi-linkcompact-row .video-audio-toggle{
  display:none !important;
  pointer-events:none !important;
}

/* === FIX 2026-05-10K: body-level floating speaker button for feed videos === */
button.video-audio-toggle:not(.video-audio-floating-toggle){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
button.video-audio-floating-toggle{
  position:fixed !important;
  z-index:2147483647 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  background:rgba(0,0,0,.76) !important;
  color:#fff !important;
  display:inline-flex;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.42) !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
}
button.video-audio-floating-toggle.is-on{
  background:rgba(255,102,0,.95) !important;
}
button.video-audio-floating-toggle svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
button.video-audio-floating-toggle span{
  display:none !important;
}
body.feed-view-minimal button.video-audio-floating-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.fi-media > video.post-video[data-feed-video="1"],
.fi-media-cell > video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
}

/* === FIX 2026-05-10L: restore visible inline speaker button and hide broken floating speaker === */
button.video-audio-floating-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle),
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle){
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  z-index:2147483647 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  background:rgba(0,0,0,.76) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.42) !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  cursor:pointer !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle).is-on,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle).is-on{
  background:rgba(255,102,0,.95) !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle) svg,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle) svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle) span,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle) span{
  display:none !important;
}
body.feed-view-minimal button.video-audio-toggle,
.feeditem.feeditem-minimal button.video-audio-toggle,
.fi-minithumb button.video-audio-toggle,
.fi-linkcompact-row button.video-audio-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* === FIX 2026-05-10M: final tappable inline speaker + transparent iOS hit-target === */
button.video-audio-floating-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle),
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle){
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  z-index:2147483000 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.72) !important;
  background:rgba(0,0,0,.76) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.42) !important;
  cursor:pointer !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle).is-on,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle).is-on{
  background:rgba(255,102,0,.95) !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle) svg,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle) svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle) span,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-hit-target):not(.video-audio-floating-toggle) span{
  display:none !important;
}
body.feed-view-minimal button.video-audio-toggle:not(.video-audio-hit-target),
.feeditem.feeditem-minimal button.video-audio-toggle:not(.video-audio-hit-target),
.fi-minithumb button.video-audio-toggle:not(.video-audio-hit-target),
.fi-linkcompact-row button.video-audio-toggle:not(.video-audio-hit-target){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
button.video-audio-hit-target{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(0,0,0,0.001) !important;
  color:transparent !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:none !important;
  outline:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
button.video-audio-hit-target svg,
button.video-audio-hit-target span{
  display:none !important;
}
body.feed-view-minimal button.video-audio-hit-target{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* === FIX 2026-05-10N: final inline speaker tap target === */
button.video-audio-floating-toggle,
button.video-audio-hit-target{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.fi-media > video.post-video[data-feed-video="1"],
.fi-media-cell > video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
  position:relative !important;
  z-index:1 !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle),
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle){
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  z-index:2147483647 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:rgba(0,0,0,.78) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.44) !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  cursor:pointer !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle).is-on,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle).is-on{
  background:rgba(255,102,0,.96) !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle) svg,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle) svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle) span,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle) span{
  display:none !important;
}
body.feed-view-minimal button.video-audio-toggle:not(.video-audio-hit-target),
.feeditem.feeditem-minimal button.video-audio-toggle:not(.video-audio-hit-target),
.fi-minithumb button.video-audio-toggle:not(.video-audio-hit-target),
.fi-linkcompact-row button.video-audio-toggle:not(.video-audio-hit-target){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* === FIX 2026-05-10P: transparent body-level speaker tap catcher === */
.app-video-audio-catcher{
  position:fixed !important;
  display:none;
  left:0;
  top:0;
  width:64px;
  height:64px;
  z-index:2147483647 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.001) !important;
  color:transparent !important;
  opacity:1 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  cursor:pointer !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
}
.app-video-audio-catcher span{display:none !important;}
body.feed-view-minimal .app-video-audio-catcher{display:none !important;}

/* === FIX 2026-05-10Q: final fixed feed speaker button === */
.app-video-audio-catcher,
button.video-audio-hit-target,
button.video-audio-floating-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.app-feed-speaker-fixed{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:rgba(0,0,0,.78) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.44) !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.app-feed-speaker-fixed.is-on{
  background:rgba(255,102,0,.96) !important;
}
.app-feed-speaker-fixed svg{
  width:21px !important;
  height:21px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
.app-feed-speaker-fixed span{display:none !important;}
body.feed-view-minimal .app-feed-speaker-fixed{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* === FIX 2026-05-10R: hard reliable feed video speaker === */
.app-feed-speaker-fixed,
.app-video-audio-catcher,
button.video-audio-hit-target,
button.video-audio-floating-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle:not(.video-audio-floating-toggle),
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle:not(.video-audio-floating-toggle){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.app-feed-speaker-hardfix{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:rgba(0,0,0,.82) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.44) !important;
  transform:translate3d(0,0,0) !important;
  -webkit-transform:translate3d(0,0,0) !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.app-feed-speaker-hardfix.is-on{
  background:rgba(255,102,0,.96) !important;
}
.app-feed-speaker-hardfix svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
.app-feed-speaker-hardfix span{display:none !important;}
body.feed-view-minimal .app-feed-speaker-hardfix{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* === FIX 2026-05-10S: single fixed feed speaker button === */
.app-feed-speaker-fixed,
.app-feed-speaker-hardfix,
.app-video-audio-catcher,
button.video-audio-hit-target,
button.video-audio-floating-toggle,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media > button.video-audio-toggle,
body:not(.feed-view-minimal) .feeditem:not(.feeditem-minimal) .fi-media-cell > button.video-audio-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.app-feed-speaker-v3{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:rgba(0,0,0,.84) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.44) !important;
  transform:translate3d(0,0,0) !important;
  -webkit-transform:translate3d(0,0,0) !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.app-feed-speaker-v3.is-on{
  background:rgba(255,102,0,.96) !important;
}
.app-feed-speaker-v3 svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
.app-feed-speaker-v3 span{
  display:none !important;
}
body.feed-view-minimal .app-feed-speaker-v3{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.fi-media > video.post-video[data-feed-video="1"],
.fi-media-cell > video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
}

/* === FIX 2026-05-10T: feed video speaker v4 === */
.app-feed-speaker-v3,
.app-feed-speaker-fixed,
.app-feed-speaker-hardfix,
.app-video-audio-catcher,
button.video-audio-hit-target,
button.video-audio-floating-toggle,
body .fi-media > button.video-audio-toggle,
body .fi-media-cell > button.video-audio-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.fi-media > .app-feed-speaker-v4,
.fi-media-cell > .app-feed-speaker-v4{
  position:absolute !important;
  right:12px !important;
  bottom:12px !important;
  z-index:2147483000 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:rgba(0,0,0,.84) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.44) !important;
  transform:translate3d(0,0,4px) !important;
  -webkit-transform:translate3d(0,0,4px) !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.fi-media > .app-feed-speaker-v4.is-on,
.fi-media-cell > .app-feed-speaker-v4.is-on{
  background:rgba(255,102,0,.96) !important;
}
.app-feed-speaker-v4 svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
.app-feed-speaker-v4 span{
  display:none !important;
}
.app-feed-speaker-hit-v4{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:transparent !important;
  opacity:.001 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.app-feed-speaker-hit-v4 *{
  pointer-events:none !important;
}
.fi-media > video.post-video[data-feed-video="1"],
.fi-media-cell > video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
}


/* === FIX 2026-05-10T: feed-video speaker v5 === */
.app-feed-speaker-v3,
.app-feed-speaker-v4,
.app-feed-speaker-hit-v4,
.app-feed-speaker-fixed,
.app-feed-speaker-hardfix,
.app-video-audio-catcher,
button.video-audio-hit-target,
button.video-audio-floating-toggle{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
body .fi-media > button.video-audio-toggle,
body .fi-media-cell > button.video-audio-toggle,
body button.video-audio-toggle[data-video-audio-toggle="1"]{
  position:absolute !important;
  right:12px !important;
  bottom:12px !important;
  z-index:2147483646 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.78) !important;
  background:rgba(0,0,0,.86) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.44) !important;
  transform:translate3d(0,0,10px) !important;
  -webkit-transform:translate3d(0,0,10px) !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
body .fi-media > button.video-audio-toggle.is-on,
body .fi-media-cell > button.video-audio-toggle.is-on,
body button.video-audio-toggle[data-video-audio-toggle="1"].is-on{
  background:rgba(255,102,0,.96) !important;
  border-color:rgba(255,255,255,.9) !important;
}
body button.video-audio-toggle[data-video-audio-toggle="1"] svg,
body .fi-media > button.video-audio-toggle svg,
body .fi-media-cell > button.video-audio-toggle svg{
  width:23px !important;
  height:23px !important;
  display:block !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
body button.video-audio-toggle[data-video-audio-toggle="1"] span,
body .fi-media > button.video-audio-toggle span,
body .fi-media-cell > button.video-audio-toggle span{
  display:none !important;
}
.fi-media > video.post-video[data-feed-video="1"],
.fi-media-cell > video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
}
.fi-media,
.fi-media-cell{
  isolation:isolate;
}

/* === 2026-05-10: bottom profile avatar menu === */
.bn-profile-menu{
  position:fixed;
  z-index:2147483647;
  width:min(260px,calc(100vw - 24px));
  padding:8px;
  border:1px solid color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 18%,transparent);
  border-radius:20px;
  background:var(--theme-tab-bg,#ffffff);
  box-shadow:0 18px 56px rgba(17,24,39,.18);
  transform:translateZ(0);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
  backdrop-filter:saturate(180%) blur(18px);
}
.bn-profile-menu[hidden]{display:none!important;}
.bn-profile-menu::after{
  content:"";
  position:absolute;
  right:var(--bn-profile-arrow-right,28px);
  bottom:-7px;
  width:14px;
  height:14px;
  background:var(--theme-tab-bg,#ffffff);
  border-right:1px solid color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 18%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 18%,transparent);
  transform:rotate(45deg);
}
.bn-profile-menu-item,
.bn-profile-menu-form .bn-profile-menu-item{
  position:relative;
  z-index:1;
  width:100%;
  min-height:50px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:0;
  border-radius:15px;
  background:transparent;
  color:var(--theme-text,var(--text,#111827));
  text-decoration:none;
  text-align:left;
  font:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.bn-profile-menu-item:active,
.bn-profile-menu-item:hover{background:color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 10%,transparent);}
.bn-profile-menu-avatar,
.bn-profile-menu-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 10%,#fff);
  color:var(--theme-tab-icon,#6b7280);
}
.bn-profile-menu-avatar img{width:100%;height:100%;display:block;object-fit:cover;}
.bn-profile-menu-icon svg{width:20px;height:20px;display:block;fill:currentColor;stroke:currentColor;}
.bn-profile-menu-copy{min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.15;}
.bn-profile-menu-copy strong{font-size:14px;font-weight:850;color:inherit;}
.bn-profile-menu-copy small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;color:var(--muted,#6b7280);}
.bn-profile-menu-pill{
  margin-left:auto;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--theme-primary,#ff6600);
  color:var(--theme-primary-text,#fff);
  font-size:12px;
  font-weight:900;
  line-height:1;
}
.bn-profile-menu-item--admin .bn-profile-menu-icon{
  background:color-mix(in srgb,var(--theme-primary,#ff6600) 14%,#fff);
  color:var(--theme-primary,#ff6600);
}
.bn-profile-menu-form{margin:0;padding:0;}
.bn-profile-menu-item--logout{color:#b42318;}
.bn-profile-menu-item--logout .bn-profile-menu-icon{background:rgba(180,35,24,.08);color:#b42318;}
:root[data-theme="dark"] .bn-profile-menu{
  background:var(--theme-tab-bg,#111827);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 18px 56px rgba(0,0,0,.38);
}
:root[data-theme="dark"] .bn-profile-menu::after{
  background:var(--theme-tab-bg,#111827);
  border-color:rgba(255,255,255,.14);
}
:root[data-theme="dark"] .bn-profile-menu-avatar,
:root[data-theme="dark"] .bn-profile-menu-icon{background:rgba(255,255,255,.08);}

/* === 2026-05-10: bottom profile menu V8 hard click fix === */
.bottomnav button.bn-item,
.bottomnav button.bn-item:focus,
.bottomnav button.bn-item:active{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  margin:0 !important;
  font:inherit !important;
  text-align:center !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}
.bottomnav [data-bottom-profile-button]{
  pointer-events:auto !important;
  user-select:none !important;
  -webkit-user-select:none !important;
}
.bottomnav [data-bottom-profile-button] .bn-ico,
.bottomnav [data-bottom-profile-button] .bn-label,
.bottomnav [data-bottom-profile-button] img,
.bottomnav [data-bottom-profile-button] svg{
  pointer-events:none !important;
}
.bn-profile-menu.is-open{
  display:block !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
.bn-profile-menu[hidden]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* === V9: Simple, compact profile edit page === */
.profile-edit-page-simple{
  max-width:760px;
  padding:8px 12px calc(92px + env(safe-area-inset-bottom));
}
.profile-edit-page-simple .profile-edit-simple-form{
  gap:10px;
}
.profile-edit-page-simple .profile-edit-panel,
.profile-edit-page-simple .profile-simple-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:20px;
  background:var(--card,#fff);
  padding:14px;
  box-shadow:none;
}
.profile-edit-page-simple .profile-simple-main{
  padding:16px 14px;
}
.profile-simple-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
}
.profile-simple-avatar{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.profile-edit-page-simple .profile-edit-avatar-preview{
  width:72px;
  height:72px;
  border-radius:22px;
  border:1px solid rgba(15,23,42,.08);
  object-fit:cover;
  background:#fff;
  box-shadow:none;
}
.profile-edit-page-simple .profile-file-button{
  min-height:34px;
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:850;
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  color:#111;
  box-shadow:none;
}
.profile-edit-page-simple .profile-file-button input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.profile-simple-copy{
  min-width:0;
  flex:1 1 auto;
}
.profile-simple-copy .kicker{
  margin:0 0 3px;
  font-size:11px;
  letter-spacing:.05em;
  color:var(--muted,#6b7280);
}
.profile-simple-copy h1{
  margin:0 0 4px;
  font-size:22px;
  line-height:1.08;
  letter-spacing:-.025em;
}
.profile-simple-copy p{
  margin:0;
  font-size:13px;
  line-height:1.35;
  color:var(--muted,#6b7280);
}
.profile-simple-banner{
  display:grid;
  gap:8px;
  margin:4px 0 14px;
}
.profile-simple-label{
  color:var(--muted,#6b7280);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.profile-edit-page-simple .profile-edit-banner-preview{
  min-height:86px;
  border-radius:16px;
  border:1px dashed rgba(100,116,139,.30);
  background:
    radial-gradient(circle at 20% 20%,rgba(249,115,22,.12),transparent 30%),
    linear-gradient(135deg,rgba(15,23,42,.05),rgba(15,23,42,.015));
}
.profile-edit-page-simple .profile-edit-banner-preview.has-image{
  border-style:solid;
  background-image:var(--ep-banner);
  background-size:cover;
  background-position:center;
}
.profile-edit-page-simple .profile-simple-banner-button{
  justify-self:start;
}
.profile-edit-page-simple .profile-simple-grid,
.profile-edit-page-simple .profile-edit-grid{
  gap:10px;
  margin-top:10px;
}
.profile-edit-page-simple .profile-edit-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.profile-edit-page-simple .profile-field{
  gap:6px;
}
.profile-edit-page-simple .profile-field > span{
  font-size:11px;
  font-weight:900;
  letter-spacing:.045em;
  color:var(--muted,#6b7280);
}
.profile-edit-page-simple .profile-field .input,
.profile-edit-page-simple .profile-edit-page .input,
.profile-edit-page-simple .input{
  min-height:48px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.09);
  background:#fff;
  color:#111;
  font-size:16px;
  font-weight:700;
  box-shadow:none;
}
.profile-edit-page-simple .profile-field textarea.input{
  min-height:92px;
  padding-top:12px;
  resize:vertical;
  line-height:1.4;
}
.profile-edit-page-simple .profile-field small{
  font-size:12px;
  line-height:1.32;
  color:var(--muted,#6b7280);
}
.profile-edit-page-simple .profile-real-name-grid.is-locked{
  margin-bottom:2px;
}
.profile-edit-page-simple .profile-field-locked > span{
  color:rgba(107,114,128,.86);
}
.profile-edit-page-simple .profile-name-locked-input[readonly]{
  background:#f3f4f6;
  color:#6b7280;
  border-color:rgba(148,163,184,.38);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
  cursor:not-allowed;
  opacity:1;
  -webkit-text-fill-color:#6b7280;
}
.profile-edit-page-simple .profile-real-name-lock-note{
  margin:2px 0 10px;
  font-size:12px;
  line-height:1.35;
  color:var(--muted,#6b7280);
}
.profile-edit-page-simple .profile-simple-username,
.profile-edit-page-simple .profile-simple-bio{
  margin-top:10px;
}
.profile-edit-page-simple .profile-bio-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.profile-edit-page-simple .profile-bio-foot .line-counter{
  position:static;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.08);
  background:#fff;
  box-shadow:none;
  font-size:11px;
  color:var(--muted,#6b7280);
}
.profile-edit-page-simple .profile-simple-details{
  padding:0;
  overflow:hidden;
}
.profile-edit-page-simple .profile-simple-details > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:62px;
  padding:13px 14px;
  user-select:none;
  touch-action:manipulation;
}
.profile-edit-page-simple .profile-simple-details > summary::-webkit-details-marker{
  display:none;
}
.profile-edit-page-simple .profile-simple-details > summary span{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.profile-edit-page-simple .profile-simple-details > summary strong{
  font-size:15px;
  line-height:1.2;
  color:var(--text,#111);
}
.profile-edit-page-simple .profile-simple-details > summary small{
  font-size:12px;
  line-height:1.3;
  color:var(--muted,#6b7280);
}
.profile-edit-page-simple .profile-simple-details > summary b{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:rgba(15,23,42,.05);
  color:var(--muted,#6b7280);
  font-size:18px;
  font-weight:900;
  transition:transform .16s ease;
}
.profile-edit-page-simple .profile-simple-details[open] > summary{
  border-bottom:1px solid rgba(15,23,42,.07);
}
.profile-edit-page-simple .profile-simple-details[open] > summary b{
  transform:rotate(180deg);
}
.profile-simple-details-body{
  padding:12px 14px 14px;
}
.profile-simple-switches{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.profile-edit-page-simple .profile-switch-list,
.profile-edit-page-simple .profile-simple-switch-list{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.profile-edit-page-simple .profile-switch-row{
  min-height:50px;
  padding:10px 11px;
  border-radius:15px;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(248,250,252,.70);
}
.profile-edit-page-simple .profile-switch-copy{
  font-size:13px;
  font-weight:800;
}
.profile-edit-page-simple .profile-switch-copy small{
  font-size:12px;
  font-weight:650;
}
.profile-edit-page-simple .profile-switch-ui{
  width:42px;
  height:24px;
  flex-basis:42px;
}
.profile-edit-page-simple .profile-switch-ui::after{
  width:18px;
  height:18px;
}
.profile-edit-page-simple .profile-switch-row input:checked + .profile-switch-ui::after{
  transform:translateX(18px);
}
.profile-edit-page-simple .profile-edit-savebar,
.profile-edit-page-simple .profile-edit-savebar-simple{
  position:static;
  z-index:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:0;
  margin-top:2px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.profile-edit-page-simple .profile-edit-savebar .btn,
.profile-edit-page-simple .profile-edit-savebar-simple .btn{
  min-width:0;
  width:100%;
  min-height:50px;
  border-radius:16px;
  font-size:15px;
}
.profile-edit-page-simple .profile-simple-account{
  margin-top:10px;
}
.profile-edit-page-simple .profile-security-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.profile-edit-page-simple .profile-security-actions .btn,
.profile-edit-page-simple .profile-logout-form,
.profile-edit-page-simple .profile-logout-form .btn{
  width:100%;
}
.profile-edit-page-simple .profile-security-actions .btn{
  min-height:46px;
  border-radius:15px;
}
.profile-edit-page-simple .profile-security-actions .btn.danger{
  grid-column:1 / -1;
}
.profile-edit-page-simple .profile-delete-warning{
  margin:10px 0 0;
  font-size:12px;
  line-height:1.35;
}
@media (max-width:760px){
  .profile-edit-page-simple{
    max-width:none;
    padding:8px 14px calc(94px + env(safe-area-inset-bottom));
  }
  .profile-simple-head{
    align-items:center;
    gap:12px;
  }
  .profile-simple-copy h1{
    font-size:20px;
  }
  .profile-simple-copy p{
    font-size:12.5px;
  }
  .profile-edit-page-simple .profile-edit-grid.two{
    grid-template-columns:1fr;
  }
  .profile-edit-page-simple .profile-edit-avatar-preview{
    width:68px;
    height:68px;
    border-radius:21px;
  }
  .profile-edit-page-simple .profile-file-button{
    font-size:11.5px;
    padding:7px 9px;
  }
  .profile-edit-page-simple .profile-edit-savebar,
  .profile-edit-page-simple .profile-edit-savebar-simple{
    grid-template-columns:1fr;
  }
  .profile-edit-page-simple .profile-security-actions{
    grid-template-columns:1fr;
  }
}
@media (max-width:380px){
  .profile-simple-head{
    align-items:flex-start;
  }
  .profile-simple-avatar{
    align-items:flex-start;
  }
}
:root[data-theme="dark"] .profile-edit-page-simple .profile-edit-panel,
:root[data-theme="dark"] .profile-edit-page-simple .profile-simple-card{
  background:var(--card);
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .profile-edit-page-simple .profile-file-button,
:root[data-theme="dark"] .profile-edit-page-simple .input,
:root[data-theme="dark"] .profile-edit-page-simple .profile-field .input,
:root[data-theme="dark"] .profile-edit-page-simple .profile-bio-foot .line-counter{
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .profile-edit-page-simple .profile-name-locked-input[readonly]{
  background:rgba(255,255,255,.035);
  color:rgba(229,231,235,.58);
  border-color:rgba(255,255,255,.08);
  -webkit-text-fill-color:rgba(229,231,235,.58);
}
:root[data-theme="dark"] .profile-edit-page-simple .profile-simple-details[open] > summary{
  border-bottom-color:rgba(255,255,255,.09);
}
:root[data-theme="dark"] .profile-edit-page-simple .profile-simple-details > summary b,
:root[data-theme="dark"] .profile-edit-page-simple .profile-switch-row{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.10);
}

/* === V10: Simple, compact user profile page ===
   Makes /u/{username} and the own profile surface cleaner: no large cover block,
   compact identity row, compact counters, and lighter tab spacing. */
body .p2{
  max-width:680px;
  margin:0 auto;
  background:var(--card);
}
body .p2-cover-profile{
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:var(--card) !important;
  background-image:none !important;
  box-shadow:none !important;
  border-bottom:1px solid var(--border);
}
body .p2-cover-profile::after{
  display:none !important;
  content:none !important;
}
body .p2-head,
body .p2-head-on-cover{
  box-sizing:border-box;
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  width:100%;
  min-height:0 !important;
  padding:18px 64px 16px 18px !important;
  color:var(--text) !important;
  background:var(--card) !important;
}
body .p2-avatarstack{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
body .p2-av{
  width:74px !important;
  height:74px !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:none !important;
  background:var(--bg-soft, #f2f3f5) !important;
}
body .p2-meta{
  flex:1 1 auto;
  min-width:0;
}
body .p2-head-on-cover .p2-meta,
body .p2-head-on-cover .p2-display-name,
body .p2-head-on-cover .p2-handle,
body .p2-head-on-cover .p2-handle a,
body .p2-head-on-cover .p2-joined-inline,
body .p2-head-on-cover .p2-chev,
body .p2-head-on-cover .p2-bio,
body .p2-head-on-cover .p2-bio-meta{
  color:var(--text) !important;
  text-shadow:none !important;
}
body .p2-display-name{
  display:block;
  max-width:100%;
  margin:0 0 4px !important;
  font-size:21px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:-.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body .p2-handle{
  display:block !important;
  color:var(--muted) !important;
  font-size:14px;
  font-weight:700;
}
body .p2-handle-row{
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:5px !important;
  min-width:0;
}
body .p2-handle-at{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
body .p2-joined-inline{
  margin-left:0 !important;
  color:var(--muted) !important;
  font-size:12.5px !important;
  font-weight:600 !important;
}
body .p2-chev{
  display:none !important;
}
body .p2-stats{
  display:flex !important;
  align-items:center;
  flex-wrap:nowrap !important;
  gap:18px !important;
  margin-top:11px !important;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
body .p2-stats::-webkit-scrollbar{
  display:none;
}
body .p2-stat{
  flex:0 0 auto;
  min-width:0 !important;
  padding:0 !important;
  text-align:left !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body .p2-head-on-cover .p2-stat .n,
body .p2-head-on-cover .p2-stat .l,
body .p2-stat .n,
body .p2-stat .l{
  color:var(--text) !important;
  text-shadow:none !important;
}
body .p2-stat .n{
  font-size:15px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
body .p2-stat .l{
  margin-top:4px !important;
  color:var(--muted) !important;
  font-size:11.5px !important;
  line-height:1.1 !important;
  font-weight:650 !important;
}
body .p2-bio-meta,
body .p2-bio-full{
  margin-top:10px !important;
  max-width:100%;
  color:var(--text) !important;
  font-size:14px !important;
  line-height:1.38 !important;
}
body .p2-profile-gear,
body .p2-head-on-cover .p2-profile-gear{
  top:18px !important;
  right:18px !important;
  width:40px !important;
  height:40px !important;
  border-radius:999px !important;
  background:rgba(248,250,252,.96) !important;
  color:var(--text) !important;
  border:1px solid var(--border) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
}
body .p2-profile-gear svg{
  width:20px !important;
  height:20px !important;
}
body .p2-actions-minimal{
  justify-content:flex-start !important;
  padding:0 18px 12px !important;
  background:var(--card);
}
body .p2-actions-minimal .p2-action-row{
  justify-content:flex-start !important;
}
body .p2-actions-minimal .p2-action-btn,
body .p2-actions-minimal .p2-action-form .p2-action-btn,
body .p2-actions-minimal a.p2-action-btn{
  min-height:34px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  font-weight:850 !important;
  box-shadow:none !important;
}
body .p2-tabs-wrap{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
  background:var(--card);
}
body .p2-tabs,
body .profile-tabs{
  gap:20px !important;
  padding:0 18px !important;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:var(--card);
}
body .p2-tabs .seg-btn,
body .profile-tabs .seg-btn{
  min-height:42px !important;
  padding:12px 0 10px !important;
  font-size:14px !important;
  font-weight:850 !important;
}
body .profile-feed{
  background:var(--card);
}
@media (max-width:520px){
  body .p2-head,
  body .p2-head-on-cover{
    padding:16px 58px 14px 16px !important;
    gap:12px !important;
  }
  body .p2-av{
    width:66px !important;
    height:66px !important;
  }
  body .p2-display-name{
    font-size:20px !important;
  }
  body .p2-handle{
    font-size:13.5px;
  }
  body .p2-stats{
    gap:16px !important;
    margin-top:10px !important;
  }
  body .p2-stat .n{
    font-size:14px !important;
  }
  body .p2-stat .l{
    font-size:11px !important;
  }
  body .p2-profile-gear,
  body .p2-head-on-cover .p2-profile-gear{
    top:16px !important;
    right:16px !important;
    width:38px !important;
    height:38px !important;
  }
  body .p2-actions-minimal{
    padding:0 16px 12px !important;
  }
  body .p2-tabs,
  body .profile-tabs{
    gap:19px !important;
    padding:0 16px !important;
  }
  body .p2-tabs .seg-btn,
  body .profile-tabs .seg-btn{
    min-height:41px !important;
    font-size:13.5px !important;
  }
}
:root[data-theme="dark"] body .p2,
:root[data-theme="dark"] body .p2-cover-profile,
:root[data-theme="dark"] body .p2-head,
:root[data-theme="dark"] body .p2-head-on-cover,
:root[data-theme="dark"] body .p2-tabs-wrap,
:root[data-theme="dark"] body .p2-tabs,
:root[data-theme="dark"] body .profile-tabs,
:root[data-theme="dark"] body .profile-feed{
  background:var(--card) !important;
}
:root[data-theme="dark"] body .p2-profile-gear,
:root[data-theme="dark"] body .p2-head-on-cover .p2-profile-gear{
  background:rgba(30,34,42,.94) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:#f7fbff !important;
}


/* === User profile V11: replace settings gear with avatar action === */
body .p2-profile-gear.p2-profile-avatar-action,
body .p2-head-on-cover .p2-profile-gear.p2-profile-avatar-action{
  top:16px !important;
  right:16px !important;
  width:46px !important;
  height:46px !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:var(--card) !important;
  border:2px solid rgba(255,255,255,.92) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.14) !important;
  display:block !important;
  line-height:0 !important;
}
body .p2-profile-gear.p2-profile-avatar-action::before,
body .p2-profile-gear.p2-profile-avatar-action::after{
  content:none !important;
  display:none !important;
}
body .p2-profile-gear.p2-profile-avatar-action svg{
  display:none !important;
}
body .p2-profile-avatar-action .p2-profile-avatar-img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:999px !important;
}
body .p2-profile-gear.p2-profile-avatar-action:active{
  transform:scale(.96) !important;
}
@media (max-width:520px){
  body .p2-profile-gear.p2-profile-avatar-action,
  body .p2-head-on-cover .p2-profile-gear.p2-profile-avatar-action{
    top:16px !important;
    right:16px !important;
    width:44px !important;
    height:44px !important;
  }
}
:root[data-theme="dark"] body .p2-profile-gear.p2-profile-avatar-action,
:root[data-theme="dark"] body .p2-head-on-cover .p2-profile-gear.p2-profile-avatar-action{
  background:rgba(30,34,42,.94) !important;
  border-color:rgba(255,255,255,.16) !important;
}


/* === User profile V12: avatar exactly in the former gear position === */
body .p2-head,
body .p2-head-on-cover{
  position:relative !important;
}
body .p2-profile-top-avatar-edit,
body .p2-head-on-cover .p2-profile-top-avatar-edit{
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  width:46px !important;
  height:46px !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:var(--card) !important;
  border:2px solid rgba(255,255,255,.94) !important;
  box-shadow:0 10px 26px rgba(15,23,42,.14) !important;
  z-index:12 !important;
  text-decoration:none !important;
  line-height:0 !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}
body .p2-profile-top-avatar-edit img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:999px !important;
}
body .p2-profile-top-avatar-edit:active{
  transform:scale(.96) !important;
}
body .p2-profile-top-avatar-edit + .p2-profile-gear,
body .p2-profile-gear:not(.p2-profile-avatar-action){
  display:none !important;
}
body .p2-profile-gear.p2-profile-avatar-action{
  display:none !important;
}
@media (max-width:520px){
  body .p2-profile-top-avatar-edit,
  body .p2-head-on-cover .p2-profile-top-avatar-edit{
    top:16px !important;
    right:16px !important;
    width:44px !important;
    height:44px !important;
  }
  body .p2-head,
  body .p2-head-on-cover{
    padding-right:74px !important;
  }
}
:root[data-theme="dark"] body .p2-profile-top-avatar-edit,
:root[data-theme="dark"] body .p2-head-on-cover .p2-profile-top-avatar-edit{
  background:rgba(30,34,42,.94) !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.28) !important;
}


/* === User profile V13: remove left owner avatar, enlarge right profile avatar === */
body .p2.p2-own-profile-clean .p2-avatarstack{
  display:none !important;
}
body .p2.p2-own-profile-clean .p2-head,
body .p2.p2-own-profile-clean .p2-head-on-cover{
  padding-left:18px !important;
  padding-right:110px !important;
  min-height:112px !important;
  align-items:center !important;
  gap:0 !important;
}
body .p2.p2-own-profile-clean .p2-meta{
  max-width:100% !important;
  min-width:0 !important;
}
body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit{
  top:50% !important;
  right:18px !important;
  width:74px !important;
  height:74px !important;
  transform:translateY(-50%) !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bg-soft, #f2f3f5) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit:active{
  transform:translateY(-50%) scale(.96) !important;
}
body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:999px !important;
}
@media (max-width:520px){
  body .p2.p2-own-profile-clean .p2-head,
  body .p2.p2-own-profile-clean .p2-head-on-cover{
    padding-left:16px !important;
    padding-right:96px !important;
    min-height:104px !important;
  }
  body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit{
    right:16px !important;
    width:66px !important;
    height:66px !important;
  }
}

/* === User profile V14: keep owner avatar top-right, independent from bio height ===
   The large edit avatar must align with the top edge of the display name and must
   not be vertically centered in the profile header when the bio wraps to multiple lines. */
body .p2.p2-own-profile-clean .p2-head,
body .p2.p2-own-profile-clean .p2-head-on-cover{
  align-items:flex-start !important;
  position:relative !important;
  padding-top:18px !important;
  padding-right:112px !important;
}
body .p2.p2-own-profile-clean .p2-meta{
  align-self:flex-start !important;
  padding-top:0 !important;
}
body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit{
  top:18px !important;
  right:18px !important;
  width:74px !important;
  height:74px !important;
  transform:none !important;
}
body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit:active,
body .p2.p2-own-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit:active{
  transform:scale(.96) !important;
}
@media (max-width:520px){
  body .p2.p2-own-profile-clean .p2-head,
  body .p2.p2-own-profile-clean .p2-head-on-cover{
    padding-top:16px !important;
    padding-right:96px !important;
  }
  body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit{
    top:16px !important;
    right:16px !important;
    width:66px !important;
    height:66px !important;
    transform:none !important;
  }
  body .p2.p2-own-profile-clean .p2-profile-top-avatar-edit:active,
  body .p2.p2-own-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit:active{
    transform:scale(.96) !important;
  }
}

/* === User profile V15: avatar fullscreen viewer + clickable bio links === */
body .p2-bio .rt-link,
body .p2-bio .rt-mention{
  color:#2563eb !important;
  font-weight:750 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere;
  word-break:break-word;
}
body .p2-bio .rt-link:active,
body .p2-bio .rt-mention:active{
  opacity:.72;
}
body button.p2-profile-top-avatar-edit,
body .p2-head-on-cover button.p2-profile-top-avatar-edit{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:0 !important;
  padding:0 !important;
  font:inherit !important;
  color:inherit !important;
  text-align:inherit !important;
}
body button.p2-profile-avatar-view-open{
  cursor:pointer !important;
}
html.profile-avatar-lightbox-open,
body.profile-avatar-lightbox-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
.profile-avatar-lightbox{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:72px 18px 36px;
  background:rgba(0,0,0,.92);
  opacity:0;
  visibility:hidden;
  transition:opacity .16s ease, visibility .16s ease;
  touch-action:none;
  -webkit-tap-highlight-color:transparent;
}
.profile-avatar-lightbox.is-open{
  opacity:1;
  visibility:visible;
}
.profile-avatar-lightbox[hidden]{
  display:none !important;
}
.profile-avatar-lightbox-stage{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.profile-avatar-lightbox-img{
  display:block;
  width:auto;
  height:auto;
  max-width:min(92vw, 760px);
  max-height:calc(100vh - 120px);
  border-radius:24px;
  object-fit:contain;
  background:#111;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  user-select:none;
  -webkit-user-drag:none;
}
.profile-avatar-lightbox-close{
  position:fixed;
  top:max(18px, env(safe-area-inset-top));
  right:max(18px, env(safe-area-inset-right));
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.96);
  color:#111;
  font-size:34px;
  line-height:1;
  font-weight:500;
  box-shadow:0 12px 34px rgba(0,0,0,.28);
  cursor:pointer;
  z-index:2147483001;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.profile-avatar-lightbox-close:active{
  transform:scale(.95);
}
@media (max-width:520px){
  .profile-avatar-lightbox{
    padding:76px 14px 34px;
  }
  .profile-avatar-lightbox-img{
    max-width:92vw;
    max-height:calc(100vh - 128px);
    border-radius:20px;
  }
  .profile-avatar-lightbox-close{
    width:44px;
    height:44px;
    font-size:32px;
  }
}
:root[data-theme="dark"] body .p2-bio .rt-link,
:root[data-theme="dark"] body .p2-bio .rt-mention{
  color:#7db0ff !important;
}


/* === 2026-05-10 V16: no-repeat feed video + smaller speaker button === */
body .fi-media > button.video-audio-toggle,
body .fi-media-cell > button.video-audio-toggle,
body button.video-audio-toggle[data-video-audio-toggle="1"]{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  right:12px !important;
  bottom:12px !important;
  border-width:1px !important;
  box-shadow:0 6px 18px rgba(0,0,0,.36) !important;
}
body button.video-audio-toggle[data-video-audio-toggle="1"] svg,
body .fi-media > button.video-audio-toggle svg,
body .fi-media-cell > button.video-audio-toggle svg{
  width:19px !important;
  height:19px !important;
}
@media (max-width:520px){
  body .fi-media > button.video-audio-toggle,
  body .fi-media-cell > button.video-audio-toggle,
  body button.video-audio-toggle[data-video-audio-toggle="1"]{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    right:10px !important;
    bottom:10px !important;
  }
  body button.video-audio-toggle[data-video-audio-toggle="1"] svg,
  body .fi-media > button.video-audio-toggle svg,
  body .fi-media-cell > button.video-audio-toggle svg{
    width:18px !important;
    height:18px !important;
  }
}

/* === 2026-05-10 V19: smaller feed speaker button === */
body .fi-media > button.video-audio-toggle,
body .fi-media-cell > button.video-audio-toggle,
body button.video-audio-toggle[data-video-audio-toggle="1"]{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  right:10px !important;
  bottom:10px !important;
}
body button.video-audio-toggle[data-video-audio-toggle="1"] svg,
body .fi-media > button.video-audio-toggle svg,
body .fi-media-cell > button.video-audio-toggle svg{
  width:17px !important;
  height:17px !important;
}
@media (max-width:520px){
  body .fi-media > button.video-audio-toggle,
  body .fi-media-cell > button.video-audio-toggle,
  body button.video-audio-toggle[data-video-audio-toggle="1"]{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    right:9px !important;
    bottom:9px !important;
  }
  body button.video-audio-toggle[data-video-audio-toggle="1"] svg,
  body .fi-media > button.video-audio-toggle svg,
  body .fi-media-cell > button.video-audio-toggle svg{
    width:16px !important;
    height:16px !important;
  }
}

/* === 2026-05-10 V20: unified user profile header + admin-colored visitor actions === */
body .p2.p2-user-profile-clean .p2-avatarstack{
  display:none !important;
}
body .p2.p2-user-profile-clean .p2-head,
body .p2.p2-user-profile-clean .p2-head-on-cover{
  position:relative !important;
  display:flex !important;
  align-items:flex-start !important;
  flex-wrap:nowrap !important;
  gap:0 !important;
  width:100% !important;
  min-height:112px !important;
  padding:18px 112px 16px 18px !important;
  background:var(--card) !important;
  color:var(--text) !important;
  overflow:visible !important;
}
body .p2.p2-user-profile-clean .p2-meta{
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:100% !important;
  align-self:flex-start !important;
  padding-top:0 !important;
}
body .p2.p2-user-profile-clean .p2-profile-top-avatar-edit,
body .p2.p2-user-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  min-height:74px !important;
  transform:none !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:999px !important;
  background:var(--bg-soft,#f2f3f5) !important;
  box-shadow:none !important;
  z-index:20 !important;
  line-height:0 !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}
body .p2.p2-user-profile-clean .p2-profile-top-avatar-edit img,
body .p2.p2-user-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:999px !important;
}
body .p2.p2-user-profile-clean .p2-profile-top-avatar-edit:active,
body .p2.p2-user-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit:active{
  transform:scale(.96) !important;
}
body .p2.p2-user-profile-clean .p2-profile-gear,
body .p2.p2-user-profile-clean .p2-head-on-cover .p2-profile-gear{
  display:none !important;
}
body .p2.p2-user-profile-clean .p2-actions-minimal .p2-action-btn,
body .p2.p2-user-profile-clean .p2-actions-minimal .p2-action-form .p2-action-btn,
body .p2.p2-user-profile-clean .p2-actions-minimal a.p2-action-btn{
  background:var(--theme-button-bg,var(--primary,#111111)) !important;
  border-color:var(--theme-button-bg,var(--primary,#111111)) !important;
  color:var(--theme-button-text,var(--pillText,#ffffff)) !important;
  box-shadow:none !important;
}
body .p2.p2-user-profile-clean .p2-actions-minimal .p2-action-btn:hover,
body .p2.p2-user-profile-clean .p2-actions-minimal .p2-action-btn:focus-visible,
body .p2.p2-user-profile-clean .p2-actions-minimal .p2-action-btn:active,
body .p2.p2-user-profile-clean .p2-actions-minimal .p2-action-btn.is-following{
  background:var(--theme-button-bg,var(--primary,#111111)) !important;
  border-color:var(--theme-button-bg,var(--primary,#111111)) !important;
  color:var(--theme-button-text,var(--pillText,#ffffff)) !important;
}
@media (max-width:520px){
  body .p2.p2-user-profile-clean .p2-head,
  body .p2.p2-user-profile-clean .p2-head-on-cover{
    min-height:104px !important;
    padding:16px 96px 14px 16px !important;
  }
  body .p2.p2-user-profile-clean .p2-profile-top-avatar-edit,
  body .p2.p2-user-profile-clean .p2-head-on-cover .p2-profile-top-avatar-edit{
    top:16px !important;
    right:16px !important;
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
  }
}


/* === V22: message count on bottom profile tab; drawer message shortcut removed === */
.bottomnav [data-bottom-profile-button] .bn-badge{
  top:3px !important;
  right:calc(50% - 27px) !important;
  width:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  height:22px !important;
  min-height:22px !important;
  max-height:22px !important;
  padding:0 !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  line-height:1 !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:-.2px !important;
  border:2px solid var(--theme-tab-bg,#ffffff) !important;
  box-shadow:0 2px 8px rgba(0,0,0,.16) !important;
  z-index:3 !important;
}
.bottomnav [data-bottom-profile-button] .bn-ico-avatar{
  position:relative !important;
}
.topbar-menu-badge,
.drawer-section--messages,
.drawer-message-shortcut{
  display:none !important;
}
:root[data-theme="dark"] .bottomnav [data-bottom-profile-button] .bn-badge{
  border-color:var(--theme-tab-bg,#0f172a) !important;
}

/* === V23: show bottom tab bar on messages inbox page ===
   Keep the chat thread clean, but restore the normal mobile bottom navigation
   for /?p=messages so the user can switch tabs exactly like in the feed. */
body.pm-inbox-page .bottomnav,
body.pm-inbox-page .bottomnav.bottomnav-user,
body.pm-inbox-page .bottomnav-center{
  display:flex !important;
}
body.pm-inbox-page .fab-compose,
body.pm-inbox-page a.fab-compose{
  display:flex !important;
}
body.pm-inbox-page .container{
  padding-bottom:calc(var(--bn-h,56px) + env(safe-area-inset-bottom) + 26px) !important;
}
body.pm-inbox-page .pm-inbox-card,
body.pm-inbox-page .pm-center-card{
  padding-bottom:calc(var(--bn-h,56px) + env(safe-area-inset-bottom) + 22px) !important;
}
@media (max-width:700px){
  body.pm-inbox-page .pm-inbox-card,
  body.pm-inbox-page .pm-center-card{
    padding-bottom:calc(var(--bn-h,56px) + env(safe-area-inset-bottom) + 24px) !important;
  }
}


/* === V25: follow actions use compact plus/check icon buttons === */
.search-cat-follow-btn,
.category-row-actions .search-cat-follow-btn,
.digg-desktop-cat-btn.search-cat-follow-btn,
.drawer-follow-btn.search-cat-follow-btn{
  width:46px !important;
  min-width:46px !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.drawer-follow-btn.search-cat-follow-btn{
  background:var(--theme-button-bg,#ff5a00) !important;
  border-color:var(--theme-button-bg,#ff5a00) !important;
  color:var(--theme-button-text,#fff) !important;
  -webkit-text-fill-color:var(--theme-button-text,#fff) !important;
}
.search-cat-follow-btn .search-cat-follow-btn__icon,
.drawer-follow-btn.search-cat-follow-btn .search-cat-follow-btn__icon{
  display:block !important;
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:translateY(-1px);
}
.search-cat-follow-btn.alt .search-cat-follow-btn__icon,
.search-cat-follow-btn.is-on .search-cat-follow-btn__icon{
  font-size:23px !important;
}
.search-cat-follow-btn.alt,
.search-cat-follow-btn.is-on{
  background:var(--bg-elevated,#fff) !important;
  border-color:var(--line,rgba(0,0,0,.10)) !important;
  color:var(--theme-button-bg,#ff5a00) !important;
  -webkit-text-fill-color:var(--theme-button-bg,#ff5a00) !important;
}
.p2-user-follow-icon{
  width:46px !important;
  min-width:46px !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  background:var(--theme-button-bg,#ff5a00) !important;
  border-color:var(--theme-button-bg,#ff5a00) !important;
  color:var(--theme-button-text,#fff) !important;
}
.p2-user-follow-icon__mark{
  display:block;
  font-size:30px;
  line-height:1;
  font-weight:900;
  transform:translateY(-1px);
}
.p2-user-follow-icon.is-following{
  background:var(--bg-elevated,#fff) !important;
  border-color:var(--line,rgba(0,0,0,.10)) !important;
  color:var(--theme-button-bg,#ff5a00) !important;
}
.p2-user-follow-icon.is-following .p2-user-follow-icon__mark{
  font-size:23px;
}
@media (max-width:640px){
  .search-category-item--lg{
    padding-top:2px;
    padding-bottom:2px;
  }
  .search-category-item__head{
    align-items:center;
  }
}
:root[data-theme="dark"] .search-cat-follow-btn.alt,
:root[data-theme="dark"] .search-cat-follow-btn.is-on,
:root[data-theme="dark"] .p2-user-follow-icon.is-following{
  background:var(--bg-elevated,#16181d) !important;
  border-color:var(--line,rgba(255,255,255,.14)) !important;
}

.user-follow-icon-btn{
  width:46px !important;
  min-width:46px !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--theme-button-bg,#ff5a00) !important;
  border:1px solid var(--theme-button-bg,#ff5a00) !important;
  color:var(--theme-button-text,#fff) !important;
  text-decoration:none !important;
  font-size:0 !important;
}
.user-follow-icon-btn__mark{
  display:block !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:translateY(-1px);
}
.user-follow-icon-btn.follow-on{
  background:var(--bg-elevated,#fff) !important;
  border-color:var(--line,rgba(0,0,0,.10)) !important;
  color:var(--theme-button-bg,#ff5a00) !important;
}
.user-follow-icon-btn.follow-on .user-follow-icon-btn__mark{
  font-size:23px !important;
}
:root[data-theme="dark"] .user-follow-icon-btn.follow-on{
  background:var(--bg-elevated,#16181d) !important;
  border-color:var(--line,rgba(255,255,255,.14)) !important;
}

.onboarding-follow-icon-btn{
  width:46px !important;
  min-width:46px !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--theme-button-bg,#ff5a00) !important;
  border-color:var(--theme-button-bg,#ff5a00) !important;
  color:var(--theme-button-text,#fff) !important;
  font-size:0 !important;
}
.onboarding-follow-icon-btn__mark{
  display:block !important;
  font-size:30px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:translateY(-1px);
}
.onboarding-cat-row.is-selected .onboarding-follow-icon-btn,
.onboarding-follow-icon-btn.is-on{
  background:var(--bg-elevated,#fff) !important;
  border-color:var(--line,rgba(0,0,0,.10)) !important;
  color:var(--theme-button-bg,#ff5a00) !important;
}
.onboarding-cat-row.is-selected .onboarding-follow-icon-btn__mark,
.onboarding-follow-icon-btn.is-on .onboarding-follow-icon-btn__mark{
  font-size:23px !important;
}


/* === V26: compact all plus/check follow buttons across the app === */
.search-cat-follow-btn,
.category-row-actions .search-cat-follow-btn,
.digg-desktop-cat-btn.search-cat-follow-btn,
.drawer-follow-btn.search-cat-follow-btn,
.user-follow-icon-btn,
.p2-user-follow-icon,
.onboarding-follow-icon-btn{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  line-height:1 !important;
}

.search-cat-follow-btn .search-cat-follow-btn__icon,
.drawer-follow-btn.search-cat-follow-btn .search-cat-follow-btn__icon,
.user-follow-icon-btn__mark,
.p2-user-follow-icon__mark,
.onboarding-follow-icon-btn__mark{
  font-size:22px !important;
  line-height:1 !important;
  font-weight:900 !important;
  transform:translateY(-1px) !important;
}

.search-cat-follow-btn.alt .search-cat-follow-btn__icon,
.search-cat-follow-btn.is-on .search-cat-follow-btn__icon,
.user-follow-icon-btn.follow-on .user-follow-icon-btn__mark,
.p2-user-follow-icon.is-following .p2-user-follow-icon__mark,
.onboarding-cat-row.is-selected .onboarding-follow-icon-btn__mark,
.onboarding-follow-icon-btn.is-on .onboarding-follow-icon-btn__mark{
  font-size:17px !important;
  transform:none !important;
}

/* The search result rows need less right-side space after compacting the button. */
.search-category-item__head{
  gap:10px !important;
}
.search-category-item__actions{
  padding-top:1px !important;
}

/* Sidebar category buttons were visually too dominant; keep them aligned but compact. */
.drawer-cat-follow,
.digg-desktop-cat-action{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Profile visitor actions: keep Message normal, only Follow icon compact. */
.p2-action-row .p2-user-follow-icon{
  flex:0 0 34px !important;
}

/* On small screens use the same compact size instead of enlarging again. */
@media (max-width:640px){
  .search-cat-follow-btn,
  .category-row-actions .search-cat-follow-btn,
  .digg-desktop-cat-btn.search-cat-follow-btn,
  .drawer-follow-btn.search-cat-follow-btn,
  .user-follow-icon-btn,
  .p2-user-follow-icon,
  .onboarding-follow-icon-btn{
    width:34px !important;
    min-width:34px !important;
    height:34px !important;
    min-height:34px !important;
  }
  .search-cat-follow-btn .search-cat-follow-btn__icon,
  .drawer-follow-btn.search-cat-follow-btn .search-cat-follow-btn__icon,
  .user-follow-icon-btn__mark,
  .p2-user-follow-icon__mark,
  .onboarding-follow-icon-btn__mark{
    font-size:22px !important;
  }
  .search-cat-follow-btn.alt .search-cat-follow-btn__icon,
  .search-cat-follow-btn.is-on .search-cat-follow-btn__icon,
  .user-follow-icon-btn.follow-on .user-follow-icon-btn__mark,
  .p2-user-follow-icon.is-following .p2-user-follow-icon__mark,
  .onboarding-cat-row.is-selected .onboarding-follow-icon-btn__mark,
  .onboarding-follow-icon-btn.is-on .onboarding-follow-icon-btn__mark{
    font-size:17px !important;
  }
}


/* === V28: search country/global filter === */
.search-country-filter{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  padding:8px 10px;
  border:1px solid var(--line,rgba(0,0,0,.08));
  border-radius:16px;
  background:var(--bg-elevated,#fff);
}
.search-country-filter__label{
  flex:0 0 auto;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--muted,#6b7280);
}
.search-country-filter__select{
  flex:1 1 auto;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text,#111827);
  font:inherit;
  font-size:15px;
  font-weight:800;
  padding:7px 4px;
  appearance:auto;
  -webkit-appearance:menulist;
}
.search-category-item__meta{
  overflow-wrap:anywhere;
}
@media (max-width:640px){
  body.is-search-page .search-country-filter{
    margin-top:10px;
    border-radius:15px;
    padding:8px 9px;
  }
  body.is-search-page .search-country-filter__select{
    font-size:15px;
  }
}
:root[data-theme="dark"] .search-country-filter{
  background:var(--bg-elevated,#16181d);
  border-color:var(--line,rgba(255,255,255,.12));
}


/* === V29: search country/global filter moved into top header === */
.topbar-center--search-country{
  justify-content:center !important;
  min-width:0 !important;
}
.topbar-search-country{
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:100%;
}
.topbar-search-country__select{
  width:auto;
  max-width:min(46vw, 230px);
  min-width:120px;
  height:38px;
  padding:0 30px 0 13px;
  border:1px solid var(--line,rgba(0,0,0,.08));
  border-radius:999px;
  background:var(--bg-elevated,#fff);
  color:var(--text,#111827);
  font:inherit;
  font-size:15px;
  font-weight:900;
  line-height:38px;
  text-align:center;
  box-shadow:none;
  outline:0;
  appearance:auto;
  -webkit-appearance:menulist;
}
.topbar-search-country__select:focus{
  border-color:rgba(249,115,22,.42);
  box-shadow:0 0 0 3px rgba(249,115,22,.10);
}
body.is-search-page .search-head-card .search-country-filter{
  display:none !important;
}
@media (max-width:640px){
  .topbar-search-country__select{
    max-width:42vw;
    min-width:112px;
    height:36px;
    line-height:36px;
    padding-left:11px;
    padding-right:26px;
    font-size:14.5px;
  }
}
:root[data-theme="dark"] .topbar-search-country__select{
  background:var(--bg-elevated,#16181d);
  border-color:var(--line,rgba(255,255,255,.12));
  color:var(--text,#f8fafc);
}


/* === V30: reliable tappable country menu in search header === */
.topbar-search-country{
  position:relative !important;
  z-index:130 !important;
  pointer-events:auto !important;
}
.topbar-search-country__button{
  width:auto;
  max-width:min(46vw, 230px);
  min-width:120px;
  height:38px;
  padding:0 12px 0 13px;
  border:1px solid var(--line,rgba(0,0,0,.08));
  border-radius:999px;
  background:var(--bg-elevated,#fff);
  color:var(--text,#111827);
  font:inherit;
  font-size:15px;
  font-weight:900;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  appearance:none;
  -webkit-appearance:none;
}
.topbar-search-country__button:active{
  transform:scale(.985);
}
.topbar-search-country__chev{
  flex:0 0 auto;
  font-size:18px;
  line-height:1;
  color:var(--text,#111827);
  transform:translateY(-1px);
}
.topbar-search-country__menu{
  position:absolute;
  top:calc(100% + 8px);
  left:50%;
  transform:translateX(-50%);
  width:min(78vw, 280px);
  max-height:min(58vh, 420px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:8px;
  border:1px solid var(--line,rgba(0,0,0,.10));
  border-radius:18px;
  background:var(--bg-elevated,#fff);
  box-shadow:0 18px 55px rgba(15,23,42,.22);
  z-index:9999;
}
.topbar-search-country__option{
  width:100%;
  min-height:42px;
  padding:9px 12px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--text,#111827);
  font:inherit;
  font-size:15px;
  font-weight:800;
  text-align:left;
  display:flex;
  align-items:center;
  cursor:pointer;
}
.topbar-search-country__option.is-active{
  background:rgba(249,115,22,.12);
  color:var(--theme-button-bg,#ff5a00);
}
.topbar-search-country__select{
  display:none !important;
}
@media (max-width:640px){
  .topbar-search-country__button{
    max-width:42vw;
    min-width:112px;
    height:36px;
    padding-left:11px;
    padding-right:10px;
    font-size:14.5px;
  }
  .topbar-search-country__menu{
    width:min(82vw, 286px);
    max-height:55vh;
  }
}
:root[data-theme="dark"] .topbar-search-country__button,
:root[data-theme="dark"] .topbar-search-country__menu{
  background:var(--bg-elevated,#16181d);
  border-color:var(--line,rgba(255,255,255,.12));
  color:var(--text,#f8fafc);
}
:root[data-theme="dark"] .topbar-search-country__option{
  color:var(--text,#f8fafc);
}
:root[data-theme="dark"] .topbar-search-country__option.is-active{
  background:rgba(249,115,22,.18);
  color:var(--theme-button-bg,#ff5a00);
}


/* === V31: search country filter uses the same details/sheet menu as Explore === */
.topbar-center--search-country{
  overflow:visible !important;
  position:relative !important;
  z-index:160 !important;
}
.search-country-scope-menu{
  position:relative !important;
  z-index:170 !important;
}
.search-country-scope-menu .feed-scope-trigger{
  min-height:36px !important;
  padding:0 13px !important;
  gap:8px !important;
}
.search-country-scope-menu .feed-scope-flag{
  font-size:20px !important;
}
.search-country-scope-menu .feed-scope-label{
  font-size:15px !important;
  font-weight:850 !important;
  text-transform:none !important;
}
.search-country-scope-menu .feed-scope-sheet{
  left:50% !important;
  transform:translateX(-50%) !important;
  top:calc(100% + 8px) !important;
  z-index:9999 !important;
}
.search-country-scope-menu .feed-scope-option{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.search-country-scope-menu .feed-scope-option b{
  margin-left:auto;
}
.topbar-search-country,
.topbar-search-country__button,
.topbar-search-country__menu,
.topbar-search-country__select{
  display:none !important;
}
@media (max-width:640px){
  .search-country-scope-menu .feed-scope-sheet--countries{
    min-width:min(278px, calc(100vw - 22px)) !important;
    max-width:calc(100vw - 22px) !important;
  }
}


/* === V32: fix search country header alignment ===
   V31 accidentally changed the centered topbar slot to relative positioning.
   Keep the search country menu in the same absolute centered slot as normal page titles. */
body.is-search-page .topbar-inner{
  position:relative !important;
  overflow:visible !important;
}
body.is-search-page .topbar-center--search-country{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  right:auto !important;
  bottom:auto !important;
  transform:translate(-50%,-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:min(54vw, 360px) !important;
  min-width:0 !important;
  overflow:visible !important;
  pointer-events:auto !important;
  z-index:210 !important;
}
body.is-search-page .topbar-center--search-country .search-country-scope-menu{
  position:relative !important;
  margin:0 auto !important;
  max-width:100% !important;
  pointer-events:auto !important;
  z-index:220 !important;
}
body.is-search-page .topbar-center--search-country .feed-scope-trigger{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  min-height:42px !important;
  padding:0 8px !important;
  gap:7px !important;
  max-width:100% !important;
  color:var(--text,#111827) !important;
}
body.is-search-page .topbar-center--search-country .feed-scope-label{
  max-width:min(34vw, 220px) !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-size:16px !important;
  font-weight:850 !important;
  color:var(--text,#111827) !important;
}
body.is-search-page .topbar-center--search-country .feed-scope-flag{
  font-size:20px !important;
}
body.is-search-page .topbar-center--search-country .feed-scope-caret{
  color:var(--muted,#6b7280) !important;
  font-size:13px !important;
}
body.is-search-page .topbar-center--search-country .feed-scope-sheet{
  left:50% !important;
  right:auto !important;
  top:calc(100% + 10px) !important;
  transform:translateX(-50%) !important;
  z-index:9999 !important;
}
body.is-search-page .topbar-right{
  position:relative !important;
  z-index:230 !important;
}
body.is-search-page .topbar-left{
  position:relative !important;
  z-index:230 !important;
}
@media (max-width:520px){
  body.is-search-page .topbar-center--search-country{
    max-width:46vw !important;
  }
  body.is-search-page .topbar-center--search-country .feed-scope-trigger{
    min-height:40px !important;
    padding:0 4px !important;
    gap:6px !important;
  }
  body.is-search-page .topbar-center--search-country .feed-scope-label{
    max-width:30vw !important;
    font-size:15px !important;
  }
  body.is-search-page .topbar-center--search-country .feed-scope-sheet--countries{
    min-width:min(278px, calc(100vw - 22px)) !important;
    max-width:calc(100vw - 22px) !important;
  }
}
:root[data-theme="dark"] body.is-search-page .topbar-center--search-country .feed-scope-trigger{
  background:transparent !important;
  color:#f8fafc !important;
}
:root[data-theme="dark"] body.is-search-page .topbar-center--search-country .feed-scope-label{
  color:#f8fafc !important;
}


/* === V33: larger reliable header back arrow === */
.topbar-center{
  gap:4px !important;
}
.topbar-center-back{
  pointer-events:auto !important;
  width:38px !important;
  min-width:38px !important;
  height:38px !important;
  min-height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 0 -4px !important;
  padding:0 !important;
  border-radius:999px !important;
  font-size:34px !important;
  line-height:1 !important;
  font-weight:750 !important;
  color:var(--text,#111827) !important;
  text-decoration:none !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
}
.topbar-center-back:active,
.topbar-center-back.is-active{
  background:rgba(17,24,39,.06) !important;
  transform:scale(.96);
}
@media (max-width:640px){
  .topbar-center-back{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    font-size:36px !important;
    margin-left:-8px !important;
  }
  .topbar-center{
    gap:2px !important;
  }
}
:root[data-theme="dark"] .topbar-center-back{
  color:#f8fafc !important;
}
:root[data-theme="dark"] .topbar-center-back:active,
:root[data-theme="dark"] .topbar-center-back.is-active{
  background:rgba(255,255,255,.10) !important;
}


/* === V34: comment send button follows admin button theme === */
.cc-send,
.comment-composer .cc-send,
body.has-comment-composer .comment-composer .cc-send{
  background:var(--theme-button-bg,#111111) !important;
  border-color:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
  -webkit-text-fill-color:var(--theme-button-text,#ffffff) !important;
}
.cc-send:focus-visible,
.comment-composer .cc-send:focus-visible{
  outline:0 !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-button-bg,#111111) 22%,transparent) !important;
}
.cc-send:active,
.comment-composer .cc-send:active{
  filter:brightness(.96);
  transform:scale(.985);
}


/* === V35: consistent centered header back chevron === */
.topbar-center{
  align-items:center !important;
  gap:6px !important;
}
.topbar-center-back{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 34px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--text,#111827) !important;
  font-size:0 !important;
  line-height:0 !important;
  text-decoration:none !important;
  vertical-align:middle !important;
  position:relative !important;
  top:0 !important;
  transform:none !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}
.topbar-center-back::before{
  content:"" !important;
  display:block !important;
  width:11px !important;
  height:11px !important;
  border-left:3px solid currentColor !important;
  border-bottom:3px solid currentColor !important;
  transform:rotate(45deg) translate(1px,-1px) !important;
  box-sizing:border-box !important;
}
.topbar-center-back:hover,
.topbar-center-back:focus-visible{
  background:rgba(17,24,39,.06) !important;
}
.topbar-center-back:active,
.topbar-center-back.is-active{
  background:rgba(17,24,39,.08) !important;
}
.topbar-center-title{
  display:inline-flex !important;
  align-items:center !important;
  height:34px !important;
  line-height:34px !important;
}
@media (max-width:640px){
  .topbar-center{
    gap:5px !important;
  }
  .topbar-center-back{
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    flex-basis:36px !important;
  }
  .topbar-center-back::before{
    width:12px !important;
    height:12px !important;
    border-left-width:3px !important;
    border-bottom-width:3px !important;
  }
  .topbar-center-title{
    height:36px !important;
    line-height:36px !important;
  }
}
/* Keep the search country header untouched because it has its own centered menu. */
body.is-search-page .topbar-center--search-country .topbar-center-back{
  display:none !important;
}
:root[data-theme="dark"] .topbar-center-back{
  color:#f8fafc !important;
}
:root[data-theme="dark"] .topbar-center-back:hover,
:root[data-theme="dark"] .topbar-center-back:focus-visible,
:root[data-theme="dark"] .topbar-center-back:active,
:root[data-theme="dark"] .topbar-center-back.is-active{
  background:rgba(255,255,255,.10) !important;
}


/* === V36: real SVG back icon, same size everywhere === */
.topbar-center-back{
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  flex:0 0 40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--text,#111827) !important;
  line-height:1 !important;
  font-size:0 !important;
  text-decoration:none !important;
  position:relative !important;
  top:0 !important;
  transform:none !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}
.topbar-center-back::before{
  content:none !important;
  display:none !important;
}
.topbar-back-icon{
  width:24px !important;
  height:24px !important;
  display:block !important;
  flex:0 0 auto !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:3.25 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  pointer-events:none !important;
}
.topbar-center-title{
  display:inline-flex !important;
  align-items:center !important;
  height:40px !important;
  line-height:40px !important;
}
.topbar-center{
  align-items:center !important;
  gap:4px !important;
}
.topbar-center-back:hover,
.topbar-center-back:focus-visible{
  background:rgba(17,24,39,.06) !important;
}
.topbar-center-back:active,
.topbar-center-back.is-active{
  background:rgba(17,24,39,.08) !important;
}
@media (max-width:640px){
  .topbar-center-back{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    flex-basis:40px !important;
  }
  .topbar-back-icon{
    width:24px !important;
    height:24px !important;
  }
  .topbar-center-title{
    height:40px !important;
    line-height:40px !important;
  }
}
:root[data-theme="dark"] .topbar-center-back{
  color:#f8fafc !important;
}
:root[data-theme="dark"] .topbar-center-back:hover,
:root[data-theme="dark"] .topbar-center-back:focus-visible,
:root[data-theme="dark"] .topbar-center-back:active,
:root[data-theme="dark"] .topbar-center-back.is-active{
  background:rgba(255,255,255,.10) !important;
}


/* === V37: visible fallback-safe header back arrow === */
.topbar-center-back{
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  flex:0 0 40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--text,#111827) !important;
  text-decoration:none !important;
  position:relative !important;
  top:0 !important;
  transform:none !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  overflow:visible !important;
  font-size:0 !important;
  line-height:1 !important;
}
.topbar-center-back::before,
.topbar-center-back::after{
  content:none !important;
  display:none !important;
}
.topbar-back-icon{
  display:block !important;
  width:25px !important;
  height:25px !important;
  flex:0 0 25px !important;
  color:inherit !important;
  fill:none !important;
  stroke:currentColor !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}
.topbar-back-icon path{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:3.25 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  opacity:1 !important;
  visibility:visible !important;
}
.topbar-back-char{
  display:none !important;
  color:inherit !important;
  font-size:36px !important;
  line-height:1 !important;
  font-weight:700 !important;
  opacity:1 !important;
}
/* If the SVG is blocked by older cached CSS, this class can still render as text. */
.topbar-center-back:not(:has(.topbar-back-icon)) .topbar-back-char{
  display:block !important;
}
.topbar-center-title{
  display:inline-flex !important;
  align-items:center !important;
  height:40px !important;
  line-height:40px !important;
}
.topbar-center{
  align-items:center !important;
  gap:4px !important;
}
.topbar-center-back:hover,
.topbar-center-back:focus-visible{
  background:rgba(17,24,39,.06) !important;
}
.topbar-center-back:active,
.topbar-center-back.is-active{
  background:rgba(17,24,39,.08) !important;
}
@media (max-width:640px){
  .topbar-center-back{
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    flex-basis:40px !important;
  }
  .topbar-back-icon{
    width:25px !important;
    height:25px !important;
    flex-basis:25px !important;
  }
}
:root[data-theme="dark"] .topbar-center-back{
  color:#f8fafc !important;
}
:root[data-theme="dark"] .topbar-center-back:hover,
:root[data-theme="dark"] .topbar-center-back:focus-visible,
:root[data-theme="dark"] .topbar-center-back:active,
:root[data-theme="dark"] .topbar-center-back.is-active{
  background:rgba(255,255,255,.10) !important;
}


/* === V38: final visible text chevron, no SVG dependency === */
.topbar-center{
  align-items:center !important;
  gap:4px !important;
}
.topbar-center-back{
  width:36px !important;
  min-width:36px !important;
  height:40px !important;
  min-height:40px !important;
  flex:0 0 36px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--text,#111827) !important;
  text-decoration:none !important;
  position:relative !important;
  top:0 !important;
  transform:none !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  overflow:visible !important;
  font-size:0 !important;
  line-height:1 !important;
}
.topbar-center-back::before,
.topbar-center-back::after{
  content:none !important;
  display:none !important;
}
.topbar-back-icon{
  display:none !important;
}
.topbar-back-char{
  display:block !important;
  color:inherit !important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif !important;
  font-size:38px !important;
  line-height:38px !important;
  height:40px !important;
  font-weight:650 !important;
  transform:translateY(-1px) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}
.topbar-center-title{
  display:inline-flex !important;
  align-items:center !important;
  height:40px !important;
  line-height:40px !important;
  transform:none !important;
}
.topbar-center-back:hover,
.topbar-center-back:focus-visible{
  background:rgba(17,24,39,.06) !important;
}
.topbar-center-back:active,
.topbar-center-back.is-active{
  background:rgba(17,24,39,.08) !important;
}
@media (max-width:640px){
  .topbar-center{
    gap:4px !important;
  }
  .topbar-center-back{
    width:36px !important;
    min-width:36px !important;
    height:40px !important;
    min-height:40px !important;
    flex-basis:36px !important;
  }
  .topbar-back-char{
    font-size:38px !important;
    line-height:38px !important;
    height:40px !important;
  }
}
/* Also fix older cached markup where the anchor still contains only the raw ‹ character. */
.topbar-center-back:not(:has(.topbar-back-char)){
  font-size:38px !important;
  line-height:38px !important;
  font-weight:650 !important;
}
:root[data-theme="dark"] .topbar-center-back{
  color:#f8fafc !important;
}
:root[data-theme="dark"] .topbar-center-back:hover,
:root[data-theme="dark"] .topbar-center-back:focus-visible,
:root[data-theme="dark"] .topbar-center-back:active,
:root[data-theme="dark"] .topbar-center-back.is-active{
  background:rgba(255,255,255,.10) !important;
}

/* === 2026-05-11: theme-colored checkmarks + compact mobile profile menu === */
.feed-scope-option b,
.feed-sort-option b,
.composer-country-option b,
.search-country-scope-menu .feed-scope-option b,
.topbar-search-country__menu b,
.pm-center-tab b{
  color:var(--theme-button-bg,#111111) !important;
}
.feed-scope-option.is-active,
.feed-sort-option.is-active,
.composer-country-option.is-active{
  color:var(--theme-text,#111827);
}
.feed-scope-option.is-active b,
.feed-sort-option.is-active b,
.composer-country-option.is-active b,
.search-country-scope-menu .feed-scope-option.is-active b{
  color:var(--theme-button-bg,#111111) !important;
}
:root[data-theme="dark"] .feed-scope-option.is-active b,
:root[data-theme="dark"] .feed-sort-option.is-active b,
:root[data-theme="dark"] .composer-country-option.is-active b,
:root[data-theme="dark"] .search-country-scope-menu .feed-scope-option.is-active b{
  color:var(--theme-button-bg,#111111) !important;
}

/* My Categories: followed checkmarks use the admin Button background color. */
.profile-feed .category-row-actions .search-cat-follow-btn.is-on,
.profile-feed .category-row-actions .search-cat-follow-btn.alt.is-on,
.profile-feed .category-row-actions .search-cat-follow-btn.is-on:hover,
.profile-feed .category-row-actions .search-cat-follow-btn.is-on:focus-visible,
.profile-feed .category-row-actions form .search-cat-follow-btn.is-on{
  color:var(--theme-button-bg,#111111) !important;
  -webkit-text-fill-color:var(--theme-button-bg,#111111) !important;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.profile-feed .category-row-actions .search-cat-follow-btn.is-on .search-cat-follow-btn__icon,
.profile-feed .category-row-actions .search-cat-follow-btn.alt.is-on .search-cat-follow-btn__icon{
  color:var(--theme-button-bg,#111111) !important;
  -webkit-text-fill-color:var(--theme-button-bg,#111111) !important;
}
:root[data-theme="dark"] .profile-feed .category-row-actions .search-cat-follow-btn.is-on,
:root[data-theme="dark"] .profile-feed .category-row-actions .search-cat-follow-btn.alt.is-on,
:root[data-theme="dark"] .profile-feed .category-row-actions form .search-cat-follow-btn.is-on{
  color:var(--theme-button-bg,#111111) !important;
  -webkit-text-fill-color:var(--theme-button-bg,#111111) !important;
  background:transparent !important;
  border-color:transparent !important;
}

.bn-profile-menu-pill{
  background:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
}
.bn-profile-menu-item--admin .bn-profile-menu-icon{
  background:color-mix(in srgb,var(--theme-button-bg,#111111) 14%,#fff) !important;
  color:var(--theme-button-bg,#111111) !important;
}

/* Profile menu stays compact on mobile; positioning remains handled by JS above the profile tab. */


/* FIX: Cookie consent panel uses admin Bottom tab background color and stays opaque. */
.cookie-consent__box{
  background:var(--theme-tab-bg,#ffffff)!important;
  background-color:var(--theme-tab-bg,#ffffff)!important;
  background-image:none!important;
  opacity:1!important;
  border-color:color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 18%,transparent)!important;
}
.cookie-consent__btn{
  opacity:1!important;
  background-image:none!important;
  -webkit-appearance:none;
  appearance:none;
}
.cookie-consent__btn:not(.primary){
  background:color-mix(in srgb,var(--theme-tab-bg,#ffffff) 88%,var(--theme-tab-icon,#9aa0a6) 12%)!important;
  background-color:color-mix(in srgb,var(--theme-tab-bg,#ffffff) 88%,var(--theme-tab-icon,#9aa0a6) 12%)!important;
  border-color:color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 18%,transparent)!important;
  color:var(--theme-title,#111827)!important;
  -webkit-text-fill-color:var(--theme-title,#111827)!important;
}
.cookie-consent__btn.primary{
  background:var(--theme-button-bg,#ff5a00)!important;
  background-color:var(--theme-button-bg,#ff5a00)!important;
  border-color:var(--theme-button-bg,#ff5a00)!important;
  color:var(--cookie-primary-text,#ffffff)!important;
  -webkit-text-fill-color:var(--cookie-primary-text,#ffffff)!important;
  box-shadow:none!important;
}
.cookie-consent__btn[hidden]{display:none!important;}

/* Post translation button */
.fi-translate{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  padding:4px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#8f96a3;
  cursor:pointer;
  position:relative;
  z-index:9;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.fi-translate svg{display:block;width:19px;height:19px;fill:currentColor;pointer-events:none;}
.fi-translate:hover,.fi-translate:focus-visible{background:rgba(17,24,39,.06);color:#5f6672;outline:none;}
.fi-translate.is-active{color:var(--accent,#2563eb);background:rgba(37,99,235,.10);}
.fi-translate.is-loading{opacity:.72;cursor:wait;}
.fi-translate.is-loading svg{animation:fiTranslatePulse .85s ease-in-out infinite alternate;}
@keyframes fiTranslatePulse{from{transform:scale(.94);opacity:.55;}to{transform:scale(1);opacity:1;}}
:root[data-theme="dark"] .fi-translate{color:rgba(163,173,186,.95);}
:root[data-theme="dark"] .fi-translate:hover,
:root[data-theme="dark"] .fi-translate:focus-visible{background:rgba(255,255,255,.08);color:rgba(229,231,235,.98);}
:root[data-theme="dark"] .fi-translate.is-active{color:#93c5fd;background:rgba(59,130,246,.18);}
.app-translate-toast{position:fixed;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(12px);max-width:min(92vw,440px);padding:10px 14px;border-radius:999px;background:rgba(17,24,39,.94);color:#fff;font:700 13px/1.25 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.22);opacity:0;pointer-events:none;z-index:9999;transition:opacity .18s ease,transform .18s ease;}
.app-translate-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
@media (max-width:520px){.fi-head-right{gap:6px}.fi-translate{width:27px;height:27px}.fi-translate svg{width:18px;height:18px}}


/* Comment translation button */
.ucom-head .ucom-meta{min-width:0;flex:1 1 auto;}
.ucom-translate{width:26px;height:26px;min-width:26px;margin-left:auto;flex:0 0 auto;border-radius:10px;}
.ucom-translate svg{width:17px;height:17px;}
.ucom.is-comment-translated .ucom-body{transition:background-color .16s ease;}
@media (max-width:520px){.ucom-translate{width:25px;height:25px}.ucom-translate svg{width:16px;height:16px}}


/* Compact auth language selector (login/register). */
.auth-language-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 4px;
}
.auth-language-row>span,
.register-language-row>span{
  color:#374151;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
}
.auth-language-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  max-width:210px;
  padding:0 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  color:#111827;
  box-shadow:none;
  cursor:pointer;
}
.auth-language-pill__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  font-size:14px;
  line-height:1;
  flex:0 0 auto;
}
.auth-language-pill select{
  max-width:150px;
  height:36px;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  color:#111827;
  padding:0 2px!important;
  margin:0;
  outline:0;
  box-shadow:none!important;
  font:inherit;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2;
  cursor:pointer;
  -webkit-appearance:menulist;
  appearance:auto;
}
.auth-language-pill select:focus{
  outline:0;
  box-shadow:none!important;
}
.auth-language-pill:focus-within{
  border-color:#111827;
  box-shadow:0 0 0 3px rgba(17,24,39,.08);
}
.register-language-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  margin:0;
}
.register-language-pill{
  flex:0 0 auto;
}
@media (max-width:420px){
  .auth-language-pill{max-width:185px;}
  .auth-language-pill select{max-width:125px;}
}
:root[data-theme="dark"] .auth-language-row>span,
:root[data-theme="dark"] .register-language-row>span{color:#374151;}
:root[data-theme="dark"] .auth-language-pill{background:#fff;color:#111827;border-color:#e5e7eb;}
:root[data-theme="dark"] .auth-language-pill select{color:#111827;}
:root[data-theme="dark"] .auth-choice-modal__language>span{color:#6b7280;}
:root[data-theme="dark"] .auth-legal-links a{color:#9ca3af;}
:root[data-theme="dark"] .auth-legal-links a:hover,
:root[data-theme="dark"] .auth-legal-links a:focus-visible{color:#f3f4f6;}


/* Guest language selector in sidebar/drawer. */
.drawer-guest-language{
  padding:10px 0 0;
  display:flex;
  align-items:center;
}
.drawer-language-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  min-height:40px;
  padding:0 12px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:999px;
  background:rgba(17,24,39,.045);
  color:var(--text,#111827);
  box-sizing:border-box;
  cursor:pointer;
}
.drawer-language-pill__icon{
  width:17px;
  height:17px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  flex:0 0 auto;
}
.drawer-language-pill__label{
  font-size:13px;
  font-weight:850;
  line-height:1;
  color:var(--muted,#6b7280);
  white-space:nowrap;
}
.drawer-language-pill select{
  max-width:135px;
  height:36px;
  min-height:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--text,#111827);
  padding:0 2px!important;
  margin:0;
  outline:0;
  box-shadow:none!important;
  font:inherit;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2;
  cursor:pointer;
  -webkit-appearance:menulist;
  appearance:auto;
}
.drawer-language-pill select:focus{
  outline:0;
  box-shadow:none!important;
}
.drawer-language-pill:focus-within{
  border-color:var(--theme-button-bg,#111827);
  box-shadow:0 0 0 3px rgba(17,24,39,.08);
  background:#fff;
}
.drawer-language-pill select.is-updating,
.auth-language-pill select.is-updating{
  opacity:.62;
}
:root[data-theme="dark"] .drawer-language-pill{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.11);
  color:#f8fafc;
}
:root[data-theme="dark"] .drawer-language-pill__label{color:rgba(226,232,240,.72);}
:root[data-theme="dark"] .drawer-language-pill select{color:#f8fafc;}
:root[data-theme="dark"] .drawer-language-pill:focus-within{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.24);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
@media (max-width:420px){
  .drawer-language-pill select{max-width:112px;}
}

/* === Feed view: background image card (admin-selectable home layout) === */
body.feed-view-hero #post-list{
  display:block;
}
.feeditem.feeditem-hero{
  padding:14px var(--edgePad) 16px;
  border-bottom:1px solid #eef0f3;
  background:transparent;
}
.feeditem.feeditem-hero .fi-repostbar-hero{
  margin:0 0 8px;
  color:#16a34a;
}
.feeditem.feeditem-hero .fi-hero-card{
  position:relative;
  overflow:hidden;
  min-height:260px;
  height:clamp(260px, 47vw, 430px);
  border-radius:24px;
  background:linear-gradient(135deg,#111827,#374151);
  box-shadow:0 12px 30px rgba(15,23,42,.12);
  isolation:isolate;
}
.feeditem.feeditem-hero .fi-hero-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  z-index:0;
}
.feeditem.feeditem-hero .fi-hero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.18) 0%, rgba(0,0,0,.05) 36%, rgba(0,0,0,.72) 100%),
    linear-gradient(to right, rgba(0,0,0,.35), rgba(0,0,0,.05) 56%);
}
.feeditem.feeditem-hero-noimage .fi-hero-shade{
  background:linear-gradient(135deg, rgba(17,24,39,.94), rgba(55,65,81,.78));
}
.feeditem.feeditem-hero .fi-hero-top{
  position:absolute;
  z-index:2;
  top:12px;
  left:12px;
  right:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  pointer-events:none;
}
.feeditem.feeditem-hero .fi-hero-author,
.feeditem.feeditem-hero .fi-hero-tools{
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  min-width:0;
  color:#fff;
}
.feeditem.feeditem-hero .fi-hero-author{
  gap:8px;
  max-width:62%;
  text-decoration:none;
  padding:5px 9px 5px 5px;
  border-radius:999px;
  background:rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.feeditem.feeditem-hero .fi-hero-avatar{
  width:28px;
  height:28px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.45);
}
.feeditem.feeditem-hero .fi-hero-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
}
.feeditem.feeditem-hero .fi-hero-tools{
  gap:6px;
  flex:0 0 auto;
}
.feeditem.feeditem-hero .fi-time-hero{
  color:rgba(255,255,255,.9);
  font-size:13px;
  font-weight:800;
  background:rgba(0,0,0,.24);
  border-radius:999px;
  padding:7px 9px;
  line-height:1;
}
.feeditem.feeditem-hero .fi-translate-hero,
.feeditem.feeditem-hero .fi-more-hero{
  color:#fff;
  background:rgba(0,0,0,.24);
  border-radius:999px;
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.feeditem.feeditem-hero .fi-translate-hero svg,
.feeditem.feeditem-hero .fi-more-hero svg{
  color:#fff;
  fill:currentColor;
}
.feeditem.feeditem-hero .fi-hero-content{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:22px 22px 24px;
  color:#fff;
  pointer-events:none;
}
.feeditem.feeditem-hero .fi-pin-badge-hero{
  pointer-events:auto;
  display:inline-flex;
  width:auto;
  margin:0 0 10px;
  color:#fff;
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.18);
}
.feeditem.feeditem-hero .fi-title-hero{
  margin:0 0 12px !important;
  color:#fff;
  font-size:clamp(26px, 5vw, 46px);
  line-height:1.05;
  letter-spacing:.01em;
  font-weight:900;
  text-wrap:balance;
  text-shadow:0 2px 20px rgba(0,0,0,.35);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.feeditem.feeditem-hero .fi-titlelink-hero{
  color:inherit !important;
  text-decoration:none;
  pointer-events:auto;
}
.feeditem.feeditem-hero .fi-text-hero{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:clamp(17px, 3.6vw, 30px);
  line-height:1.22;
  font-weight:500;
  max-width:92%;
  text-shadow:0 2px 18px rgba(0,0,0,.32);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.feeditem.feeditem-hero .fi-text-hero .fi-text-body{
  color:inherit;
}
.feeditem.feeditem-hero .fi-text-hero a,
.feeditem.feeditem-hero .fi-text-hero a:visited{
  color:#fff !important;
  text-decoration:underline;
  pointer-events:auto;
}
.feeditem.feeditem-hero .fi-link-minimal-hero{
  margin:0;
  color:rgba(255,255,255,.88);
  max-width:92%;
}
.feeditem.feeditem-hero .fi-link-minimal-hero .fi-link-minimal-title{
  color:inherit;
  font-size:clamp(17px, 3.6vw, 30px);
  line-height:1.2;
  font-weight:600;
}
.feeditem.feeditem-hero .fi-hero-site{
  display:inline-flex;
  width:max-content;
  max-width:75%;
  margin-top:14px;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  background:rgba(0,0,0,.36);
  font-size:13px;
  font-weight:900;
  line-height:1;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.feeditem.feeditem-hero .fi-hero-actions{
  padding:8px 0 0;
}
.feeditem.feeditem-hero .fi-hero-actions .fi-actions{
  border:0;
  padding:4px 2px 0;
  margin:0;
}
:root[data-theme="dark"] .feeditem.feeditem-hero{
  border-bottom-color:rgba(255,255,255,.08);
}
:root[data-theme="dark"] .feeditem.feeditem-hero .fi-hero-card{
  box-shadow:none;
}
@media (max-width: 640px){
  .feeditem.feeditem-hero{
    padding:12px var(--edgePad) 14px;
  }
  .feeditem.feeditem-hero .fi-hero-card{
    min-height:245px;
    height:62vw;
    max-height:390px;
    border-radius:22px;
  }
  .feeditem.feeditem-hero .fi-hero-top{
    top:10px;
    left:10px;
    right:10px;
  }
  .feeditem.feeditem-hero .fi-hero-author{
    max-width:56%;
  }
  .feeditem.feeditem-hero .fi-time-hero{
    display:none;
  }
  .feeditem.feeditem-hero .fi-hero-content{
    padding:18px 18px 20px;
  }
  .feeditem.feeditem-hero .fi-title-hero{
    font-size:28px;
  }
  .feeditem.feeditem-hero .fi-text-hero,
  .feeditem.feeditem-hero .fi-link-minimal-hero .fi-link-minimal-title{
    font-size:19px;
  }
}

/* === 2026-05-12: automatic post translation switch in profile menu === */
.bn-profile-menu-item--switch{padding-right:10px;}
.bn-profile-menu-item--switch .bn-profile-menu-copy{flex:1 1 auto;}
.bn-profile-switch{
  margin-left:auto;
  width:42px;
  height:24px;
  border-radius:999px;
  flex:0 0 42px;
  display:inline-flex;
  align-items:center;
  padding:3px;
  background:color-mix(in srgb,var(--theme-tab-icon,#9aa0a6) 24%,transparent);
  transition:background .16s ease;
}
.bn-profile-switch span{
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  transform:translateX(0);
  transition:transform .16s ease;
}
.bn-profile-menu-item--switch[aria-pressed="true"] .bn-profile-switch,
.bn-profile-menu-item--switch.is-on .bn-profile-switch{
  background:var(--theme-primary,#ff6600);
}
.bn-profile-menu-item--switch[aria-pressed="true"] .bn-profile-switch span,
.bn-profile-menu-item--switch.is-on .bn-profile-switch span{
  transform:translateX(18px);
}
.bn-profile-menu-item--switch[aria-pressed="true"] .bn-profile-menu-icon,
.bn-profile-menu-item--switch.is-on .bn-profile-menu-icon{
  background:color-mix(in srgb,var(--theme-primary,#ff6600) 14%,#fff);
  color:var(--theme-primary,#ff6600);
}
:root[data-theme="dark"] .bn-profile-switch{background:rgba(255,255,255,.18);}
:root[data-theme="dark"] .bn-profile-switch span{background:#f9fafb;}

/* === 2026-05-12: manual video play/stop controls, no autoplay === */
.fi-video-open-play{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
video.post-video[data-feed-video="1"]{
  autoplay:false;
}
.fi-media,
.fi-media-cell,
.fi-minithumb,
.fi-video-open{
  position:relative !important;
}
.video-play-toggle,
button.video-play-toggle,
[data-video-play-toggle="1"]{
  position:absolute !important;
  right:14px !important;
  bottom:14px !important;
  z-index:2147483647 !important;
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.82) !important;
  background:rgba(255,102,0,.96) !important;
  color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  box-shadow:0 8px 24px rgba(0,0,0,.34) !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  transform:translate3d(0,0,12px) !important;
  -webkit-transform:translate3d(0,0,12px) !important;
}
.video-play-toggle.is-playing,
button.video-play-toggle.is-playing,
[data-video-play-toggle="1"].is-playing{
  background:rgba(17,24,39,.86) !important;
}
.video-play-toggle svg,
button.video-play-toggle svg,
[data-video-play-toggle="1"] svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
  fill:currentColor !important;
  color:#fff !important;
  pointer-events:none !important;
}
.video-play-toggle span,
button.video-play-toggle span,
[data-video-play-toggle="1"] span{
  display:none !important;
}
.fi-media-grid .fi-media-cell > .video-play-toggle,
.fi-media-grid .fi-media-cell > button.video-play-toggle,
.fi-media-grid .fi-media-cell > [data-video-play-toggle="1"]{
  right:8px !important;
  bottom:8px !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  box-shadow:0 6px 18px rgba(0,0,0,.34) !important;
}
.fi-media-grid .fi-media-cell > .video-play-toggle svg,
.fi-media-grid .fi-media-cell > button.video-play-toggle svg,
.fi-media-grid .fi-media-cell > [data-video-play-toggle="1"] svg{
  width:18px !important;
  height:18px !important;
}
.fi-minithumb > .video-play-toggle,
.fi-minithumb > button.video-play-toggle,
.fi-minithumb > [data-video-play-toggle="1"],
.feeditem.feeditem-minimal .fi-minithumb > .video-play-toggle,
.feeditem.feeditem-minimal .fi-minithumb > button.video-play-toggle,
.feeditem.feeditem-minimal .fi-minithumb > [data-video-play-toggle="1"]{
  right:7px !important;
  bottom:7px !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  border-width:1px !important;
  box-shadow:0 5px 14px rgba(0,0,0,.3) !important;
}
.fi-minithumb > .video-play-toggle svg,
.fi-minithumb > button.video-play-toggle svg,
.fi-minithumb > [data-video-play-toggle="1"] svg,
.feeditem.feeditem-minimal .fi-minithumb > .video-play-toggle svg,
.feeditem.feeditem-minimal .fi-minithumb > button.video-play-toggle svg,
.feeditem.feeditem-minimal .fi-minithumb > [data-video-play-toggle="1"] svg{
  width:16px !important;
  height:16px !important;
}
body.is-post .feeditem .fi-video-open > .video-play-toggle,
body.is-post .feeditem .fi-video-open > button.video-play-toggle,
body.is-post .feeditem .fi-video-open > [data-video-play-toggle="1"]{
  right:14px !important;
  bottom:14px !important;
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
}
body.is-post .feeditem .fi-video-open > .video-play-toggle svg,
body.is-post .feeditem .fi-video-open > button.video-play-toggle svg,
body.is-post .feeditem .fi-video-open > [data-video-play-toggle="1"] svg{
  width:24px !important;
  height:24px !important;
}
@media (max-width:560px){
  .video-play-toggle,
  button.video-play-toggle,
  [data-video-play-toggle="1"]{
    right:12px !important;
    bottom:12px !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
  }
  .video-play-toggle svg,
  button.video-play-toggle svg,
  [data-video-play-toggle="1"] svg{
    width:22px !important;
    height:22px !important;
  }
  .fi-media-grid .fi-media-cell > .video-play-toggle,
  .fi-media-grid .fi-media-cell > button.video-play-toggle,
  .fi-media-grid .fi-media-cell > [data-video-play-toggle="1"]{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }
  .fi-minithumb > .video-play-toggle,
  .fi-minithumb > button.video-play-toggle,
  .fi-minithumb > [data-video-play-toggle="1"]{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
}

/* === 2026-05-12: HARD FIX - reliable video play/stop button hit area + no native center play overlay === */
video.post-video[data-feed-video="1"],
video.post-video{
  -webkit-tap-highlight-color:transparent !important;
}
video.post-video[data-feed-video="1"]::-webkit-media-controls-start-playback-button,
video.post-video::-webkit-media-controls-start-playback-button{
  display:none !important;
  opacity:0 !important;
  -webkit-appearance:none !important;
}
video.post-video[data-feed-video="1"]::-webkit-media-controls-play-button,
video.post-video::-webkit-media-controls-play-button{
  display:none !important;
  opacity:0 !important;
  -webkit-appearance:none !important;
}
.fi-video-open-play,
.fi-minithumb-play{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
.fi-media > .video-play-toggle,
.fi-media-cell > .video-play-toggle,
.fi-video-open > .video-play-toggle,
.fi-minithumb > .video-play-toggle,
.fi-linkcompact-row .video-play-toggle,
button.video-play-toggle[data-video-play-toggle="1"]{
  z-index:2147483647 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  cursor:pointer !important;
}
.fi-media > .video-play-toggle::before,
.fi-media-cell > .video-play-toggle::before,
.fi-video-open > .video-play-toggle::before,
.fi-minithumb > .video-play-toggle::before,
button.video-play-toggle[data-video-play-toggle="1"]::before{
  content:"";
  position:absolute;
  inset:-12px;
  border-radius:999px;
}
.feeditem.feeditem-minimal .fi-minithumb > .video-play-toggle::before,
.fi-minithumb > .video-play-toggle::before{
  inset:-8px;
}

/* === 2026-05-12: V4 video play/stop iOS layer fix === */
.fi-video-open > video.post-video,
.fi-minithumb > video.post-video,
.fi-linkcompact-row video.post-video,
.fi-media > video.post-video[data-feed-video="1"],
.fi-media-cell > video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
}
.fi-video-open > .video-play-toggle,
.fi-media > .video-play-toggle,
.fi-media-cell > .video-play-toggle,
.fi-minithumb > .video-play-toggle,
.fi-linkcompact-row .video-play-toggle{
  z-index:2147483647 !important;
  pointer-events:auto !important;
  transform:translateZ(0) !important;
  -webkit-transform:translateZ(0) !important;
}

/* === 2026-05-12: grid + background feed media controls/counters === */
.gallery-media,
.gallery-tile,
.feeditem.feeditem-hero .fi-hero-card{
  position:relative;
}
.gallery-media > video.post-video,
.feeditem.feeditem-hero .fi-hero-card > video.post-video{
  pointer-events:none !important;
}
.gallery-tile .video-play-toggle,
.gallery-tile button.video-play-toggle,
.gallery-tile [data-video-play-toggle="1"]{
  right:8px !important;
  bottom:8px !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  z-index:2147483647 !important;
  border-width:1px !important;
  box-shadow:0 6px 16px rgba(0,0,0,.34) !important;
}
.gallery-tile .video-play-toggle svg,
.gallery-tile button.video-play-toggle svg,
.gallery-tile [data-video-play-toggle="1"] svg{
  width:18px !important;
  height:18px !important;
}
.gallery-media-counter,
.gallery-media-more-counter{
  position:absolute;
  z-index:12;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#fff;
  background:rgba(17,24,39,.78);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 5px 16px rgba(0,0,0,.22);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  pointer-events:none;
  font-weight:900;
  line-height:1;
}
.gallery-media-counter{
  left:8px;
  bottom:8px;
  min-width:34px;
  height:24px;
  padding:0 8px;
  font-size:11px;
}
.gallery-media-more-counter{
  right:8px;
  top:8px;
  min-width:34px;
  height:24px;
  padding:0 8px;
  font-size:12px;
}
.gallery-media.is-video .gallery-media-more-counter{
  top:8px;
  right:8px;
}
.feeditem.feeditem-hero .fi-hero-video{
  background:#111827;
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  right:18px !important;
  bottom:18px !important;
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  min-height:58px !important;
  z-index:7 !important;
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"] svg{
  width:25px !important;
  height:25px !important;
}
.feeditem.feeditem-hero .fi-media-counter-hero{
  left:18px;
  bottom:18px;
  z-index:6;
  min-width:42px;
  height:30px;
  padding:0 11px;
  font-size:13px;
  background:rgba(17,24,39,.62);
}
.feeditem.feeditem-hero .fi-media-more-counter-hero{
  inset:auto;
  top:auto;
  right:auto;
  left:18px;
  bottom:54px;
  z-index:6;
  min-width:42px;
  height:30px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(17,24,39,.62);
  font-size:13px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle + .fi-media-counter-hero,
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle ~ .fi-media-counter-hero{
  left:18px;
}
@media (max-width:560px){
  .gallery-tile .video-play-toggle,
  .gallery-tile button.video-play-toggle,
  .gallery-tile [data-video-play-toggle="1"]{
    right:6px !important;
    bottom:6px !important;
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    min-height:38px !important;
  }
  .gallery-tile .video-play-toggle svg,
  .gallery-tile button.video-play-toggle svg,
  .gallery-tile [data-video-play-toggle="1"] svg{
    width:17px !important;
    height:17px !important;
  }
  .gallery-media-counter{
    left:6px;
    bottom:6px;
    height:23px;
    min-width:32px;
    font-size:10px;
    padding:0 7px;
  }
  .gallery-media-more-counter{
    top:6px;
    right:6px;
    height:23px;
    min-width:32px;
    font-size:11px;
    padding:0 7px;
  }
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    right:14px !important;
    bottom:14px !important;
    width:50px !important;
    height:50px !important;
    min-width:50px !important;
    min-height:50px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    left:14px;
    bottom:14px;
    height:28px;
    min-width:38px;
    font-size:12px;
  }
  .feeditem.feeditem-hero .fi-media-more-counter-hero{
    left:14px;
    bottom:48px;
    height:28px;
    min-width:38px;
    font-size:12px;
  }
}


/* === 2026-05-12: smaller video buttons + single media position counter ===
   - play button is 30% smaller across list, grid, minimal, hero/background and post detail layouts
   - '+N' extra media overlay is removed; only the 1/N position counter remains
   - gallery 1/N moves to the old top-right badge position; hero 1/N moves above the title area */
.fi-media-more-counter,
.fi-media-more-counter-hero,
.gallery-media-more-counter{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.video-play-toggle,
button.video-play-toggle,
[data-video-play-toggle="1"],
body.is-post .feeditem .fi-video-open > .video-play-toggle,
body.is-post .feeditem .fi-video-open > button.video-play-toggle,
body.is-post .feeditem .fi-video-open > [data-video-play-toggle="1"]{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  right:10px !important;
  bottom:10px !important;
}
.video-play-toggle svg,
button.video-play-toggle svg,
[data-video-play-toggle="1"] svg,
body.is-post .feeditem .fi-video-open > .video-play-toggle svg,
body.is-post .feeditem .fi-video-open > button.video-play-toggle svg,
body.is-post .feeditem .fi-video-open > [data-video-play-toggle="1"] svg{
  width:17px !important;
  height:17px !important;
}

.fi-media-grid .fi-media-cell > .video-play-toggle,
.fi-media-grid .fi-media-cell > button.video-play-toggle,
.fi-media-grid .fi-media-cell > [data-video-play-toggle="1"]{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  right:6px !important;
  bottom:6px !important;
}
.fi-media-grid .fi-media-cell > .video-play-toggle svg,
.fi-media-grid .fi-media-cell > button.video-play-toggle svg,
.fi-media-grid .fi-media-cell > [data-video-play-toggle="1"] svg{
  width:13px !important;
  height:13px !important;
}

.fi-minithumb > .video-play-toggle,
.fi-minithumb > button.video-play-toggle,
.fi-minithumb > [data-video-play-toggle="1"],
.feeditem.feeditem-minimal .fi-minithumb > .video-play-toggle,
.feeditem.feeditem-minimal .fi-minithumb > button.video-play-toggle,
.feeditem.feeditem-minimal .fi-minithumb > [data-video-play-toggle="1"]{
  width:25px !important;
  height:25px !important;
  min-width:25px !important;
  min-height:25px !important;
  right:5px !important;
  bottom:5px !important;
}
.fi-minithumb > .video-play-toggle svg,
.fi-minithumb > button.video-play-toggle svg,
.fi-minithumb > [data-video-play-toggle="1"] svg,
.feeditem.feeditem-minimal .fi-minithumb > .video-play-toggle svg,
.feeditem.feeditem-minimal .fi-minithumb > button.video-play-toggle svg,
.feeditem.feeditem-minimal .fi-minithumb > [data-video-play-toggle="1"] svg{
  width:11px !important;
  height:11px !important;
}

.gallery-tile .video-play-toggle,
.gallery-tile button.video-play-toggle,
.gallery-tile [data-video-play-toggle="1"]{
  width:29px !important;
  height:29px !important;
  min-width:29px !important;
  min-height:29px !important;
  right:6px !important;
  bottom:6px !important;
}
.gallery-tile .video-play-toggle svg,
.gallery-tile button.video-play-toggle svg,
.gallery-tile [data-video-play-toggle="1"] svg{
  width:13px !important;
  height:13px !important;
}

.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  width:41px !important;
  height:41px !important;
  min-width:41px !important;
  min-height:41px !important;
  right:14px !important;
  bottom:14px !important;
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"] svg{
  width:18px !important;
  height:18px !important;
}

.fi-media-counter{
  top:8px !important;
  right:auto !important;
  bottom:auto !important;
  left:8px !important;
}
.fi-media-counter-mini{
  top:6px !important;
  right:auto !important;
  bottom:auto !important;
  left:6px !important;
  min-width:30px !important;
  height:22px !important;
  font-size:10px !important;
  padding:0 7px !important;
}
.gallery-media-counter{
  top:8px !important;
  right:8px !important;
  bottom:auto !important;
  left:auto !important;
}
.feeditem.feeditem-hero .fi-media-counter-hero{
  top:auto !important;
  right:auto !important;
  bottom:54px !important;
  left:18px !important;
  z-index:7 !important;
}

@media (max-width:560px){
  .video-play-toggle,
  button.video-play-toggle,
  [data-video-play-toggle="1"],
  body.is-post .feeditem .fi-video-open > .video-play-toggle,
  body.is-post .feeditem .fi-video-open > button.video-play-toggle,
  body.is-post .feeditem .fi-video-open > [data-video-play-toggle="1"]{
    width:35px !important;
    height:35px !important;
    min-width:35px !important;
    min-height:35px !important;
    right:9px !important;
    bottom:9px !important;
  }
  .video-play-toggle svg,
  button.video-play-toggle svg,
  [data-video-play-toggle="1"] svg,
  body.is-post .feeditem .fi-video-open > .video-play-toggle svg,
  body.is-post .feeditem .fi-video-open > button.video-play-toggle svg,
  body.is-post .feeditem .fi-video-open > [data-video-play-toggle="1"] svg{
    width:15px !important;
    height:15px !important;
  }
  .fi-media-grid .fi-media-cell > .video-play-toggle,
  .fi-media-grid .fi-media-cell > button.video-play-toggle,
  .fi-media-grid .fi-media-cell > [data-video-play-toggle="1"]{
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    min-height:27px !important;
  }
  .fi-minithumb > .video-play-toggle,
  .fi-minithumb > button.video-play-toggle,
  .fi-minithumb > [data-video-play-toggle="1"],
  .feeditem.feeditem-minimal .fi-minithumb > .video-play-toggle,
  .feeditem.feeditem-minimal .fi-minithumb > button.video-play-toggle,
  .feeditem.feeditem-minimal .fi-minithumb > [data-video-play-toggle="1"]{
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    min-height:24px !important;
  }
  .gallery-tile .video-play-toggle,
  .gallery-tile button.video-play-toggle,
  .gallery-tile [data-video-play-toggle="1"]{
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
    min-height:27px !important;
  }
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    width:35px !important;
    height:35px !important;
    min-width:35px !important;
    min-height:35px !important;
    right:12px !important;
    bottom:12px !important;
  }
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle svg,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle svg,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"] svg{
    width:15px !important;
    height:15px !important;
  }
  .gallery-media-counter{
    top:6px !important;
    right:6px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    left:14px !important;
    bottom:48px !important;
  }
}

/* === 2026-05-12: background image feed - move video controls to marked top area ===
   Applies only to the hero/background-image feed card. Keeps list/grid/minimal/detail positions unchanged. */
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  top:22px !important;
  right:92px !important;
  bottom:auto !important;
  left:auto !important;
  width:35px !important;
  height:35px !important;
  min-width:35px !important;
  min-height:35px !important;
  z-index:9 !important;
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"] svg{
  width:15px !important;
  height:15px !important;
}
.feeditem.feeditem-hero .fi-media-counter-hero{
  top:25px !important;
  right:136px !important;
  bottom:auto !important;
  left:auto !important;
  z-index:9 !important;
  min-width:38px !important;
  height:28px !important;
  padding:0 10px !important;
  font-size:12px !important;
  background:rgba(17,24,39,.72) !important;
}
@media (max-width:560px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    top:22px !important;
    right:88px !important;
    bottom:auto !important;
    width:35px !important;
    height:35px !important;
    min-width:35px !important;
    min-height:35px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    top:25px !important;
    right:130px !important;
    bottom:auto !important;
    left:auto !important;
    min-width:38px !important;
    height:28px !important;
    font-size:12px !important;
  }
}
@media (max-width:380px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    right:80px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    right:120px !important;
  }
}

/* === 2026-05-12: align background feed video controls with top toolbar icons === */
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  top:13px !important;
}
.feeditem.feeditem-hero .fi-media-counter-hero{
  top:16px !important;
}
@media (max-width:560px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    top:13px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    top:16px !important;
  }
}

/* === 2026-05-12: background feed hard vertical alignment for video counter/play ===
   Match the real center line of the hero top toolbar: author pill, translate icon and menu icon. */
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  top:14px !important;
  right:88px !important;
  bottom:auto !important;
  left:auto !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  line-height:1 !important;
  margin:0 !important;
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"] svg{
  width:15px !important;
  height:15px !important;
  display:block !important;
}
.feeditem.feeditem-hero .fi-media-counter-hero{
  top:14px !important;
  right:128px !important;
  bottom:auto !important;
  left:auto !important;
  height:34px !important;
  min-height:34px !important;
  min-width:40px !important;
  padding:0 10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  line-height:1 !important;
  margin:0 !important;
}
@media (max-width:560px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    top:14px !important;
    right:88px !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    top:14px !important;
    right:128px !important;
    height:34px !important;
    min-height:34px !important;
    min-width:40px !important;
  }
}
@media (max-width:380px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    right:80px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    right:120px !important;
  }
}

/* === 2026-05-12: final hero/background feed control size match ===
   Counter and play button must have the same circular diameter as the translate
   and more icons in the hero top bar. This applies only to background/hero feed. */
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  top:14px !important;
  right:88px !important;
  bottom:auto !important;
  left:auto !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  border-radius:999px !important;
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"] svg{
  width:14px !important;
  height:14px !important;
}
.feeditem.feeditem-hero .fi-media-counter-hero{
  top:14px !important;
  right:128px !important;
  bottom:auto !important;
  left:auto !important;
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  box-sizing:border-box !important;
}
@media (max-width:560px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    top:14px !important;
    right:88px !important;
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
    max-width:34px !important;
    max-height:34px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    top:14px !important;
    right:128px !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
    font-size:12px !important;
  }
}
@media (max-width:380px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    right:80px !important;
  }
  .feeditem.feeditem-hero .fi-media-counter-hero{
    right:120px !important;
  }
}

/* === 2026-05-12: final visual size correction for hero/background play button ===
   The orange play button has more visual weight because of its fill + border,
   so reduce only this button slightly to visually match the neighbouring toolbar icons. */
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  top:15px !important;
  right:89px !important;
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  min-height:32px !important;
  max-width:32px !important;
  max-height:32px !important;
  border-width:1px !important;
  box-sizing:border-box !important;
}
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle svg,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"] svg{
  width:13px !important;
  height:13px !important;
}
@media (max-width:560px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    top:15px !important;
    right:89px !important;
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    max-width:32px !important;
    max-height:32px !important;
  }
}
@media (max-width:380px){
  .feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
  .feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
    right:81px !important;
  }
}


/* === 2026-05-12: single post media counter + optional horizontal scroller === */
body.is-post .feeditem .fi-media .fi-media-counter,
body.is-post .feeditem .fi-media-grid .fi-media-counter,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-counter-detail-scroll{
  z-index:20 !important;
  pointer-events:none !important;
}
body.is-post .feeditem .fi-media-detail-scroll{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  background:#000 !important;
  border-radius:24px !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x mandatory !important;
  overscroll-behavior-x:contain !important;
  scrollbar-width:none !important;
}
body.is-post .feeditem .fi-media-detail-scroll::-webkit-scrollbar{
  display:none !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-track{
  display:flex !important;
  width:100% !important;
  min-width:100% !important;
  gap:0 !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide{
  position:relative !important;
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  scroll-snap-align:start !important;
  background:#000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > img,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > a,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > .fi-video-open{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
  display:block !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide img,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide video,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide .post-video{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:80vh !important;
  object-fit:contain !important;
  display:block !important;
  background:#000 !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-video-open{
  height:auto !important;
  background:#000 !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-counter-detail-scroll{
  top:10px !important;
  left:10px !important;
  right:auto !important;
  bottom:auto !important;
  min-width:40px !important;
  height:28px !important;
  padding:0 9px !important;
  font-size:12px !important;
  background:rgba(17,24,39,.78) !important;
}
body.is-post .feeditem .fi-media-grid > .fi-media-counter,
body.is-post .feeditem .fi-media:not(.fi-media-grid):not(.fi-media-detail-scroll) > .fi-media-counter{
  top:10px !important;
  left:10px !important;
  right:auto !important;
  bottom:auto !important;
}

/* === 2026-05-12: final media-counter position rule ===
   Put the media counter bottom-left for all feed and single-post layouts,
   except the background-image / hero feed where it stays in the top toolbar area. */
.feeditem:not(.feeditem-hero) .fi-media-counter,
.feeditem:not(.feeditem-hero) .fi-media-counter-mini,
body.is-post .feeditem .fi-media .fi-media-counter,
body.is-post .feeditem .fi-media-grid .fi-media-counter,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-counter-detail-scroll,
body.is-post .feeditem .fi-media-grid > .fi-media-counter,
body.is-post .feeditem .fi-media:not(.fi-media-grid):not(.fi-media-detail-scroll) > .fi-media-counter{
  top:auto !important;
  right:auto !important;
  bottom:8px !important;
  left:8px !important;
}

.feeditem:not(.feeditem-hero) .fi-media-counter-mini{
  min-width:32px !important;
  height:24px !important;
  font-size:11px !important;
  padding:0 8px !important;
}

body.is-post .feeditem .fi-media-detail-scroll .fi-media-counter-detail-scroll,
body.is-post .feeditem .fi-media-grid > .fi-media-counter,
body.is-post .feeditem .fi-media:not(.fi-media-grid):not(.fi-media-detail-scroll) > .fi-media-counter{
  bottom:10px !important;
  left:10px !important;
}

/* Remove the older exception that moved mini counters to the top when a site/domain pill exists. */
.fi-minithumb:has(.fi-minithumb-site) .fi-media-counter-mini{
  top:auto !important;
  right:auto !important;
  bottom:8px !important;
  left:8px !important;
}

/* === 2026-05-12: keep single-post horizontal media scroller height stable ===
   Lock the whole scroller to the rendered height of the first slide so later
   portrait media cannot expand the post vertically while swiping. */
body.is-post .feeditem .fi-media-detail-scroll,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-track,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide{
  transition:height .12s ease !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > a,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > .fi-video-open{
  height:100% !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > a{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#000 !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > a > img,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > img,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide video,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide .post-video{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  display:block !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-video-open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

/* === 2026-05-12: final single-post horizontal scroll fixed media window ===
   The scroller window no longer follows each media file's natural aspect ratio.
   It keeps one fixed admin-controlled window and fits every image/video inside it. */
body.is-post .feeditem .fi-media.fi-media-detail-scroll{
  width:min(100%, var(--current-post-media-width, var(--detail-post-media-width, 100%))) !important;
  margin-left:var(--current-post-media-margin-left, var(--detail-post-media-margin-left, auto)) !important;
  margin-right:var(--current-post-media-margin-right, var(--detail-post-media-margin-right, auto)) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  aspect-ratio:100 / var(--single-post-scroll-media-height-percent, 100) !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  background:#000 !important;
  border-radius:24px !important;
  contain:layout paint !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-track{
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  display:flex !important;
  align-items:stretch !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide{
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  scroll-snap-align:start !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide-image{
  background:#fff !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide-video{
  background:#000 !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > img,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > a,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > .fi-video-open,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide video,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide .post-video{
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  display:block !important;
  box-sizing:border-box !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > a,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide > .fi-video-open{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide img,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide video,
body.is-post .feeditem .fi-media-detail-scroll .fi-media-scroll-slide .post-video{
  object-fit:contain !important;
  object-position:center center !important;
}
@media (max-width:700px){
  body.is-post .feeditem .fi-media.fi-media-detail-scroll{
    width:min(100%, var(--current-post-media-width-mobile, var(--detail-post-media-width-mobile, 100%))) !important;
    margin-left:var(--current-post-media-mobile-margin-left, var(--detail-post-media-mobile-margin-left, auto)) !important;
    margin-right:var(--current-post-media-mobile-margin-right, var(--detail-post-media-mobile-margin-right, auto)) !important;
  }
}


/* === 2026-05-12: simple monochrome Global scope icon === */
.feed-scope-flag,
.feed-scope-option-flag{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.feed-scope-flag[data-icon-type="global"],
.feed-scope-flag.is-global{font-size:0 !important;line-height:0 !important;position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:18px;}
.feed-scope-flag[data-icon-type="global"]::before,
.feed-scope-flag[data-icon-type="global"]::after,
.feed-scope-flag.is-global::before,
.feed-scope-flag.is-global::after{content:"";position:absolute;box-sizing:border-box;border-radius:50%;}
.feed-scope-flag[data-icon-type="global"]::before,
.feed-scope-flag.is-global::before{inset:0;border:1.8px solid currentColor;opacity:.9;}
.feed-scope-flag[data-icon-type="global"]::after,
.feed-scope-flag.is-global::after{left:4px;right:4px;top:-1px;bottom:-1px;border-left:1.6px solid currentColor;border-right:1.6px solid currentColor;box-shadow:0 8px 0 -7px currentColor inset, 0 -8px 0 -7px currentColor inset;}
.feed-scope-flag-icon--global{
  position:relative;
  display:inline-block;
  width:18px;
  height:18px;
  border:1.8px solid currentColor;
  border-radius:50%;
  box-sizing:border-box;
  opacity:.9;
}
.feed-scope-flag-icon--global::before,
.feed-scope-flag-icon--global::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  box-sizing:border-box;
}
.feed-scope-flag-icon--global::before{
  left:4px;
  right:4px;
  top:-1px;
  bottom:-1px;
  border-left:1.6px solid currentColor;
  border-right:1.6px solid currentColor;
}
.feed-scope-flag-icon--global::after{
  left:-1px;
  right:-1px;
  top:7px;
  height:0;
  border-top:1.6px solid currentColor;
}
.feed-scope-trigger .feed-scope-flag .feed-scope-flag-icon--global,
.feed-scope-trigger .feed-scope-flag-icon--global{width:18px;height:18px;}
.feed-scope-option-main > .feed-scope-option-flag{width:20px;min-width:20px;}
.feed-scope-option-main > .feed-scope-option-flag .feed-scope-flag-icon--global{width:18px;height:18px;}
.feed-scope-flag-emoji{font-size:20px;line-height:1;display:inline-flex;align-items:center;}
@media (max-width:560px){
  .feed-scope-flag-icon--global{width:17px;height:17px;}
}

/* === 2026-05-12: admin button background controls video + profile translate switch ===
   Video play buttons must use the Admin > Button background color and must never
   float above the fixed/sticky top header while the feed scrolls. */
:root{
  --theme-primary:var(--theme-button-bg,#111111);
  --theme-primary-text:var(--theme-button-text,#ffffff);
}
.video-play-toggle,
button.video-play-toggle,
[data-video-play-toggle="1"],
.fi-media > .video-play-toggle,
.fi-media-cell > .video-play-toggle,
.fi-video-open > .video-play-toggle,
.fi-minithumb > .video-play-toggle,
.fi-linkcompact-row .video-play-toggle,
button.video-play-toggle[data-video-play-toggle="1"],
.gallery-tile .video-play-toggle,
.gallery-tile button.video-play-toggle,
.gallery-tile [data-video-play-toggle="1"],
.feeditem.feeditem-hero .fi-hero-card > .video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > button.video-play-toggle,
.feeditem.feeditem-hero .fi-hero-card > [data-video-play-toggle="1"]{
  background:var(--theme-button-bg,#111111) !important;
  border-color:color-mix(in srgb,var(--theme-button-text,#ffffff) 76%,transparent) !important;
  color:var(--theme-button-text,#ffffff) !important;
  z-index:12 !important;
}
.video-play-toggle.is-playing,
button.video-play-toggle.is-playing,
[data-video-play-toggle="1"].is-playing{
  background:color-mix(in srgb,var(--theme-button-bg,#111111) 72%,#000000) !important;
  color:var(--theme-button-text,#ffffff) !important;
}
.video-play-toggle svg,
button.video-play-toggle svg,
[data-video-play-toggle="1"] svg{
  color:var(--theme-button-text,#ffffff) !important;
  fill:currentColor !important;
  stroke:currentColor !important;
}
/* Keep touch area clickable but below the topbar stacking layer. */
.fi-video-open,
.fi-media,
.fi-media-cell,
.fi-minithumb,
.feeditem.feeditem-hero .fi-hero-card{
  isolation:isolate;
}

.bn-profile-menu-item--switch[aria-pressed="true"] .bn-profile-switch,
.bn-profile-menu-item--switch.is-on .bn-profile-switch{
  background:var(--theme-button-bg,#111111) !important;
}
.bn-profile-menu-item--switch[aria-pressed="true"] .bn-profile-menu-icon,
.bn-profile-menu-item--switch.is-on .bn-profile-menu-icon{
  background:color-mix(in srgb,var(--theme-button-bg,#111111) 14%,#ffffff) !important;
  color:var(--theme-button-bg,#111111) !important;
}
.bn-profile-menu-pill{
  background:var(--theme-button-bg,#111111) !important;
  color:var(--theme-button-text,#ffffff) !important;
}

/* === 2026-05-13: profile tabs must use the same admin feed layouts ===
   Profile tabs are not rendered on body.feed-view-minimal, so the minimal-feed
   rules need a profile-surface equivalent. */
.profile-feed--minimal .feeditem.feeditem-minimal{
  padding-top:14px !important;
  padding-bottom:14px !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-shell{
  grid-template-columns:minmax(0,1fr) !important;
  column-gap:0 !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-avatarcol{
  display:none !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-contentcol{
  grid-column:1 !important;
  min-width:0 !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-head{
  align-items:center !important;
  gap:8px !important;
  font-size:13px !important;
  color:#8f93a1 !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-head-avatarlink{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important;
  height:32px !important;
  border-radius:999px !important;
  flex:0 0 32px !important;
  text-decoration:none !important;
  overflow:hidden !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-head-avatar,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-head .av{
  width:32px !important;
  height:32px !important;
  border-radius:999px !important;
  object-fit:cover !important;
  display:block !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-user,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-comm{
  font-size:13px !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-body-minimal{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 126px !important;
  column-gap:14px !important;
  align-items:start !important;
  margin-top:7px !important;
  border-radius:18px !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-main-minimal{
  grid-column:1 !important;
  min-width:0 !important;
  min-height:92px !important;
  overflow:hidden !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-title{
  margin:0 0 6px !important;
  font-size:var(--fs-post-title,20px) !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-text-minimal,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-text-body{
  font-size:var(--fs-post-text,16px) !important;
  line-height:1.27 !important;
  color:#5d6470 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-moretext,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-text-tail,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-text-minimal .fi-ellipsis{
  display:none !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-minithumb{
  grid-column:2 !important;
  grid-row:1 / span 2 !important;
  align-self:start !important;
  justify-self:end !important;
  width:126px !important;
  aspect-ratio:1.22 / 1 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  position:relative !important;
  display:block !important;
  background:#eef1f5 !important;
  text-decoration:none !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-minithumb img,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-minithumb video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  background:#eef1f5 !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-minithumb-badge,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-minithumb-play{
  display:none !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-minithumb-site{
  position:absolute !important;
  left:8px !important;
  right:auto !important;
  bottom:8px !important;
  width:max-content !important;
  max-width:calc(100% - 16px) !important;
  z-index:2 !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:6px 9px !important;
  border-radius:999px !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  color:#fff !important;
  background:linear-gradient(180deg, rgba(17,17,17,.56), rgba(17,17,17,.82)) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-link,
.profile-feed--minimal .feeditem.feeditem-minimal .post-cats,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-media,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-media-grid{
  display:none !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-link-minimal{
  margin-top:4px !important;
  overflow:hidden !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-link-minimal-title{
  font-size:calc(var(--fs-post-title,20px) * .74) !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#20242c !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:1 !important;
  overflow:hidden !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-link-minimal-desc{
  margin-top:4px !important;
  font-size:calc(var(--fs-post-text,16px) * .84) !important;
  line-height:1.26 !important;
  color:#5d6470 !important;
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-primary-url-minimal{
  display:block !important;
  margin-top:5px !important;
  color:#3b82f6 !important;
  font-size:14px !important;
  line-height:1.22 !important;
  font-weight:500 !important;
  text-decoration:none !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-actions{
  margin-top:2px !important;
  gap:18px !important;
  color:#b0b4bf !important;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-votes{gap:8px !important;}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn{padding:4px !important;color:#b0b4bf !important;}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn svg{width:21px !important;height:21px !important;}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-count,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-num{color:#6a707c !important;font-size:14px !important;font-weight:800 !important;}
.profile-feed--minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-body-minimal{grid-template-columns:minmax(0,1fr) !important;column-gap:0 !important;}
.profile-feed--minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-main-minimal{grid-column:1 / -1 !important;min-height:0 !important;width:100% !important;}
.profile-feed--minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-title,
.profile-feed--minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-text-minimal,
.profile-feed--minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-text-body,
.profile-feed--minimal .feeditem.feeditem-minimal.feeditem-minimal-fulltext .fi-link-minimal{max-width:100% !important;}
@media (max-width:640px){
  .profile-feed--minimal .feeditem.feeditem-minimal .fi-body-minimal{
    grid-template-columns:minmax(0,1fr) 112px !important;
    column-gap:12px !important;
  }
  .profile-feed--minimal .feeditem.feeditem-minimal .fi-minithumb{
    width:112px !important;
    border-radius:22px !important;
  }
  .profile-feed--minimal .feeditem.feeditem-minimal .fi-main-minimal{
    min-height:92px !important;
    height:auto !important;
    max-height:none !important;
  }
}
:root[data-theme="dark"] .profile-feed--minimal .feeditem.feeditem-minimal .fi-text-minimal,
:root[data-theme="dark"] .profile-feed--minimal .feeditem.feeditem-minimal .fi-link-minimal-desc,
:root[data-theme="dark"] .profile-feed--minimal .feeditem.feeditem-minimal .fi-count,
:root[data-theme="dark"] .profile-feed--minimal .feeditem.feeditem-minimal .fi-num{color:#cbd5e1 !important;}
:root[data-theme="dark"] .profile-feed--minimal .feeditem.feeditem-minimal .fi-link-minimal-title{color:#f1f5f9 !important;}
:root[data-theme="dark"] .profile-feed--minimal .feeditem.feeditem-minimal .fi-primary-url-minimal{color:#60a5fa !important;}

.profile-feed--hero .feeditem.feeditem-hero{
  padding-left:var(--edgePad) !important;
  padding-right:var(--edgePad) !important;
}
.profile-feed--hero .feeditem.feeditem-hero .fi-hero-card{
  width:100% !important;
}

/* === 2026-05-13: profile feed active action color fix ===
   In profile tabs (Posts/Reposted/My Boosts/Saved) the active bottom post icons
   must follow the admin URL / link color, even when the profile tab uses the
   Minimal Feed layout whose later rules force grey icons. */
.profile-feed .feeditem .fi-ibtn.on,
.profile-feed .feeditem .fi-ibtn[data-saved="1"],
.profile-feed .feeditem .fi-ibtn[data-reposted="1"],
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn.on,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn[data-saved="1"],
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn[data-reposted="1"]{
  color:var(--theme-url,var(--accent,#2563eb)) !important;
}
.profile-feed .feeditem .fi-ibtn.on svg,
.profile-feed .feeditem .fi-ibtn[data-saved="1"] svg,
.profile-feed .feeditem .fi-ibtn[data-reposted="1"] svg,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn.on svg,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn[data-saved="1"] svg,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn[data-reposted="1"] svg{
  fill:currentColor !important;
  stroke:currentColor !important;
  opacity:1 !important;
}
.profile-feed .feeditem .fi-ibtn.on .fi-num,
.profile-feed .feeditem .fi-ibtn[data-reposted="1"] .fi-num,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn.on .fi-num,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-ibtn[data-reposted="1"] .fi-num{
  color:var(--theme-url,var(--accent,#2563eb)) !important;
}

/* === 2026-05-13: restore uploaded profile cover header ===
   Previous compact profile CSS intentionally removed the large cover block and
   forced the cover background to none. When a user has uploaded a banner image,
   show the real cover header again while keeping the compact layout for profiles
   without a banner. */
body .p2.p2-has-cover .p2-cover-profile,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile{
  position:relative !important;
  display:flex !important;
  align-items:flex-end !important;
  width:100% !important;
  min-height:320px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  border-bottom:1px solid var(--border) !important;
  background-color:#111827 !important;
  background-image:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.24) 46%, rgba(0,0,0,.68) 100%), var(--p2-cover-img) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  box-shadow:none !important;
}
body .p2.p2-has-cover .p2-cover-profile::after,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile::after,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile::after{
  display:none !important;
  content:none !important;
}
body .p2.p2-has-cover .p2-head-on-cover,
body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover,
body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:flex-start !important;
  width:100% !important;
  min-height:0 !important;
  padding:142px 112px 20px 18px !important;
  background:transparent !important;
  color:#fff !important;
  overflow:visible !important;
}
body .p2.p2-has-cover .p2-head-on-cover .p2-meta,
body .p2.p2-has-cover .p2-head-on-cover .p2-display-name,
body .p2.p2-has-cover .p2-head-on-cover .p2-handle,
body .p2.p2-has-cover .p2-head-on-cover .p2-handle a,
body .p2.p2-has-cover .p2-head-on-cover .p2-handle-at,
body .p2.p2-has-cover .p2-head-on-cover .p2-joined-inline,
body .p2.p2-has-cover .p2-head-on-cover .p2-bio,
body .p2.p2-has-cover .p2-head-on-cover .p2-bio-meta,
body .p2.p2-has-cover .p2-head-on-cover .p2-bio-full,
body .p2.p2-has-cover .p2-head-on-cover .p2-stat .n,
body .p2.p2-has-cover .p2-head-on-cover .p2-stat .l{
  color:#fff !important;
  text-shadow:0 10px 26px rgba(0,0,0,.45) !important;
}
body .p2.p2-has-cover .p2-head-on-cover .p2-stat .l,
body .p2.p2-has-cover .p2-head-on-cover .p2-joined-inline{
  opacity:.92 !important;
}
body .p2.p2-has-cover .p2-profile-top-avatar-edit,
body .p2.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
body .p2.p2-user-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit{
  top:18px !important;
  right:18px !important;
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  min-height:74px !important;
  transform:none !important;
  border:3px solid rgba(255,255,255,.9) !important;
  background:rgba(255,255,255,.18) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.28) !important;
  z-index:4 !important;
}
body .p2.p2-has-cover .p2-profile-top-avatar-edit:active,
body .p2.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit:active{
  transform:scale(.96) !important;
}
:root[data-theme="dark"] body .p2.p2-has-cover .p2-cover-profile{
  background-color:#0f172a !important;
  border-bottom-color:rgba(255,255,255,.10) !important;
}
@media (max-width:520px){
  body .p2.p2-has-cover .p2-cover-profile,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile{
    min-height:300px !important;
  }
  body .p2.p2-has-cover .p2-head-on-cover,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover{
    padding:132px 96px 18px 16px !important;
  }
  body .p2.p2-has-cover .p2-profile-top-avatar-edit,
  body .p2.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit{
    top:16px !important;
    right:16px !important;
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
  }
}

/* === 2026-05-13: profile cover remove option + fixed-height cover header ===
   A profile cover image must not make the profile identity block taller. The
   uploaded cover is used as the compact header background only; the block keeps
   the same dimensions as a profile without cover. */
.profile-remove-banner-option{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  padding:9px 12px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--card);
  color:var(--text);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
}
.profile-remove-banner-option input{
  width:16px;
  height:16px;
  accent-color:var(--theme-button-bg, var(--primary, #ff5b00));
}

body .p2.p2-has-cover .p2-cover-profile,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  border-bottom:1px solid var(--border) !important;
  background-color:#111827 !important;
  background-image:var(--p2-cover-img) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  box-shadow:none !important;
}

body .p2.p2-has-cover .p2-head-on-cover,
body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover,
body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:flex-start !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  width:100% !important;
  min-height:112px !important;
  height:auto !important;
  padding:18px 112px 16px 18px !important;
  background:linear-gradient(90deg, rgba(0,0,0,.66) 0%, rgba(0,0,0,.36) 48%, rgba(0,0,0,.16) 100%) !important;
  color:#fff !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
body .p2.p2-has-cover .p2-cover-profile::after,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile::after,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile::after{
  display:none !important;
  content:none !important;
}
body .p2.p2-has-cover .p2-head-on-cover .p2-meta,
body .p2.p2-has-cover .p2-head-on-cover .p2-display-name,
body .p2.p2-has-cover .p2-head-on-cover .p2-handle,
body .p2.p2-has-cover .p2-head-on-cover .p2-handle a,
body .p2.p2-has-cover .p2-head-on-cover .p2-handle-at,
body .p2.p2-has-cover .p2-head-on-cover .p2-joined-inline,
body .p2.p2-has-cover .p2-head-on-cover .p2-chev,
body .p2.p2-has-cover .p2-head-on-cover .p2-bio,
body .p2.p2-has-cover .p2-head-on-cover .p2-bio-meta,
body .p2.p2-has-cover .p2-head-on-cover .p2-bio-full,
body .p2.p2-has-cover .p2-head-on-cover .p2-stat .n,
body .p2.p2-has-cover .p2-head-on-cover .p2-stat .l{
  color:#fff !important;
  text-shadow:0 2px 12px rgba(0,0,0,.46) !important;
}
body .p2.p2-has-cover .p2-head-on-cover .p2-stat .l,
body .p2.p2-has-cover .p2-head-on-cover .p2-joined-inline{
  opacity:.94 !important;
}
body .p2.p2-has-cover .p2-profile-top-avatar-edit,
body .p2.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
body .p2.p2-user-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit{
  top:18px !important;
  right:18px !important;
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  min-height:74px !important;
  border:2px solid rgba(255,255,255,.92) !important;
  background:rgba(255,255,255,.16) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
  transform:none !important;
}
body .p2.p2-has-cover .p2-profile-top-avatar-edit:active,
body .p2.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit:active{
  transform:scale(.96) !important;
}
@media (max-width:520px){
  body .p2.p2-has-cover .p2-head-on-cover,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover{
    min-height:104px !important;
    padding:16px 96px 14px 16px !important;
  }
  body .p2.p2-has-cover .p2-profile-top-avatar-edit,
  body .p2.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-profile-top-avatar-edit,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-head-on-cover .p2-profile-top-avatar-edit{
    top:16px !important;
    right:16px !important;
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
  }
}


/* === 2026-05-13: composer @mention suggestions visible + rich user counters === */
.mention-suggest,
.mention-suggest--composer,
.mention-suggest--comment{
  z-index:2147483000 !important;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
  border:1px solid var(--line,rgba(15,23,42,.12)) !important;
  box-shadow:0 18px 48px rgba(15,23,42,.22) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
.mention-suggest--composer,
.mention-suggest--comment{
  border-radius:18px !important;
}
.ms-empty{
  padding:12px 14px;
  color:var(--muted,#6b7280);
  font-size:14px;
  font-weight:700;
}
.ms-item{
  color:var(--text,#111827) !important;
  padding:11px 12px !important;
  gap:11px !important;
  border-bottom:1px solid var(--line,rgba(15,23,42,.08)) !important;
}
.ms-item:last-child{border-bottom:0 !important;}
.ms-item:hover,
.ms-item:focus-visible{background:rgba(15,23,42,.045) !important;outline:none !important;}
.ms-av,
.ms-av-fallback{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  object-fit:cover !important;
  color:#111827 !important;
}
.ms-main{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;gap:5px;}
.ms-line1{display:flex;align-items:center;gap:7px;min-width:0;line-height:1.15;}
.ms-handle{font-weight:900;color:var(--text,#111827);white-space:nowrap;display:inline-flex;align-items:center;gap:4px;}
.ms-display-name{font-size:13px;font-weight:800;color:var(--muted,#6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.ms-stats{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.ms-stat{display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border-radius:999px;background:var(--card,#f3f4f6);color:var(--muted,#6b7280);font-size:11px;line-height:1;font-weight:800;white-space:nowrap;}
.ms-stat b{font-size:11px;color:var(--text,#111827);font-weight:900;}
.ms-stat em{font-style:normal;}
.ms-user-badges{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;}
.ms-user-badge-count{font-size:12px;font-weight:900;color:var(--muted,#6b7280);}
.ms-verified-badge svg{width:17px;height:17px;display:block;}
@media (max-width:520px){
  .mention-suggest--composer{max-width:calc(100vw - 18px) !important;}
  .ms-stat{font-size:10px;padding:4px 5px;}
  .ms-stat b{font-size:10px;}
  .ms-display-name{max-width:34vw;}
}
:root[data-theme="dark"] .mention-suggest,
:root[data-theme="dark"] .mention-suggest--composer,
:root[data-theme="dark"] .mention-suggest--comment{
  background:#111827 !important;
  color:#f9fafb !important;
  border-color:rgba(255,255,255,.12) !important;
}
:root[data-theme="dark"] .ms-item{color:#f9fafb !important;border-bottom-color:rgba(255,255,255,.08) !important;}
:root[data-theme="dark"] .ms-item:hover,
:root[data-theme="dark"] .ms-item:focus-visible{background:rgba(255,255,255,.07) !important;}
:root[data-theme="dark"] .ms-handle,
:root[data-theme="dark"] .ms-stat b{color:#f9fafb !important;}
:root[data-theme="dark"] .ms-display-name,
:root[data-theme="dark"] .ms-stat,
:root[data-theme="dark"] .ms-user-badge-count,
:root[data-theme="dark"] .ms-empty{color:rgba(249,250,251,.72) !important;}
:root[data-theme="dark"] .ms-stat{background:rgba(255,255,255,.08) !important;}

/* === 2026-05-13: hard composer @mention dropdown visibility === */
.mention-suggest--composer-hardfix{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
  border:1px solid var(--line,rgba(15,23,42,.14)) !important;
  border-radius:18px !important;
  box-shadow:0 18px 48px rgba(15,23,42,.24) !important;
  overflow:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  pointer-events:auto !important;
  touch-action:pan-y !important;
}
.mention-suggest--composer-hardfix .ms-item{
  min-height:66px !important;
  background:var(--bg-elevated,#fff) !important;
}
.mention-suggest--composer-hardfix .ms-item:active{
  background:rgba(15,23,42,.06) !important;
}
@media (max-width:560px){
  .mention-suggest--composer-hardfix{
    border-radius:18px !important;
  }
  .mention-suggest--composer-hardfix .ms-item{
    min-height:64px !important;
  }
}
:root[data-theme="dark"] .mention-suggest--composer-hardfix{
  background:#111827 !important;
  color:#f9fafb !important;
  border-color:rgba(255,255,255,.12) !important;
}
:root[data-theme="dark"] .mention-suggest--composer-hardfix .ms-item{
  background:#111827 !important;
}
:root[data-theme="dark"] .mention-suggest--composer-hardfix .ms-item:active{
  background:rgba(255,255,255,.08) !important;
}


/* === 2026-05-13: Composer @mention inline fallback === */
.composer-fieldwrap .mention-suggest--composer-inline{
  position:relative !important;
  display:block;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:100% !important;
  max-height:270px !important;
  margin:10px 0 0 !important;
  z-index:5000 !important;
  border-radius:18px !important;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
  border:1px solid var(--line,rgba(15,23,42,.12)) !important;
  box-shadow:0 14px 38px rgba(15,23,42,.18) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch !important;
}
.composer-fieldwrap .mention-suggest--composer-inline[hidden]{display:none !important;}
.composer-fieldwrap .mention-suggest--composer-inline .ms-item{
  min-height:66px !important;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
}
.composer-fieldwrap .mention-suggest--composer-inline .ms-item:active{
  background:rgba(15,23,42,.06) !important;
}
:root[data-theme="dark"] .composer-fieldwrap .mention-suggest--composer-inline{
  background:#111827 !important;
  color:#f9fafb !important;
  border-color:rgba(255,255,255,.12) !important;
}
:root[data-theme="dark"] .composer-fieldwrap .mention-suggest--composer-inline .ms-item{
  background:#111827 !important;
  color:#f9fafb !important;
}

/* === 2026-05-13: simpler scrollable composer @mention suggestions === */
.composer-fieldwrap .mention-suggest--composer-inline,
.mention-suggest--composer-hardfix{
  max-height:168px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  border-radius:14px !important;
  box-shadow:0 10px 28px rgba(15,23,42,.14) !important;
}
.composer-fieldwrap .mention-suggest--composer-inline{
  margin:8px 0 0 !important;
}
.mention-suggest--composer-inline .ms-loading,
.mention-suggest--composer-inline .ms-empty{
  min-height:46px !important;
  padding:12px 14px !important;
  font-size:13px !important;
  font-weight:750 !important;
}
.mention-suggest--composer-inline .ms-item,
.mention-suggest--composer-hardfix .ms-item{
  min-height:54px !important;
  padding:8px 11px !important;
  gap:10px !important;
  align-items:center !important;
  border-bottom:1px solid rgba(15,23,42,.075) !important;
}
.mention-suggest--composer-inline .ms-item:last-child,
.mention-suggest--composer-hardfix .ms-item:last-child{
  border-bottom:0 !important;
}
.mention-suggest--composer-inline .ms-av,
.mention-suggest--composer-inline .ms-av-fallback,
.mention-suggest--composer-hardfix .ms-av,
.mention-suggest--composer-hardfix .ms-av-fallback{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  font-size:15px !important;
  font-weight:850 !important;
}
.mention-suggest--composer-inline .ms-main,
.mention-suggest--composer-hardfix .ms-main{
  gap:2px !important;
  min-width:0 !important;
}
.mention-suggest--composer-inline .ms-line1,
.mention-suggest--composer-hardfix .ms-line1{
  gap:6px !important;
  min-width:0 !important;
}
.mention-suggest--composer-inline .ms-handle,
.mention-suggest--composer-hardfix .ms-handle{
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:850 !important;
}
.mention-suggest--composer-inline .ms-display-name,
.mention-suggest--composer-hardfix .ms-display-name{
  font-size:12px !important;
  font-weight:750 !important;
  max-width:32vw !important;
}
.mention-suggest--composer-inline .ms-user-badge,
.mention-suggest--composer-hardfix .ms-user-badge{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
}
.mention-suggest--composer-inline .ms-verified-badge svg,
.mention-suggest--composer-hardfix .ms-verified-badge svg{
  width:14px !important;
  height:14px !important;
}
.mention-suggest--composer-inline .ms-stats,
.mention-suggest--composer-hardfix .ms-stats{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  max-width:100% !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.mention-suggest--composer-inline .ms-stat,
.mention-suggest--composer-hardfix .ms-stat{
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  gap:3px !important;
  font-size:11px !important;
  line-height:1.2 !important;
  font-weight:750 !important;
  color:var(--muted,#6b7280) !important;
}
.mention-suggest--composer-inline .ms-stat b,
.mention-suggest--composer-hardfix .ms-stat b{
  font-size:11px !important;
  font-weight:850 !important;
  color:var(--text,#111827) !important;
}
.mention-suggest--composer-inline .ms-stat em,
.mention-suggest--composer-hardfix .ms-stat em{
  font-size:11px !important;
  font-style:normal !important;
  color:var(--muted,#6b7280) !important;
}
@media (max-width:560px){
  .composer-fieldwrap .mention-suggest--composer-inline,
  .mention-suggest--composer-hardfix{
    max-height:156px !important;
    border-radius:14px !important;
  }
  .mention-suggest--composer-inline .ms-item,
  .mention-suggest--composer-hardfix .ms-item{
    min-height:52px !important;
    padding:8px 10px !important;
  }
  .mention-suggest--composer-inline .ms-display-name,
  .mention-suggest--composer-hardfix .ms-display-name{
    max-width:26vw !important;
  }
  .mention-suggest--composer-inline .ms-stats,
  .mention-suggest--composer-hardfix .ms-stats{
    gap:7px !important;
  }
}
:root[data-theme="dark"] .mention-suggest--composer-inline .ms-item,
:root[data-theme="dark"] .mention-suggest--composer-hardfix .ms-item{
  border-bottom-color:rgba(255,255,255,.08) !important;
}
:root[data-theme="dark"] .mention-suggest--composer-inline .ms-stat,
:root[data-theme="dark"] .mention-suggest--composer-inline .ms-stat em,
:root[data-theme="dark"] .mention-suggest--composer-hardfix .ms-stat,
:root[data-theme="dark"] .mention-suggest--composer-hardfix .ms-stat em{
  color:rgba(249,250,251,.68) !important;
}


/* === 2026-05-13: mention suggestions scroll-safe tap behavior === */
.mention-suggest--composer-inline .ms-item,
.mention-suggest--composer-hardfix .ms-item{
  touch-action:pan-y !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  cursor:pointer !important;
}
.mention-suggest--composer-inline,
.mention-suggest--composer-hardfix{
  scroll-behavior:auto !important;
}

/* === 2026-05-13: comment/reply @mention suggestions === */
.mention-suggest--comment-hardfix{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  max-height:176px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  border-radius:14px !important;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
  border:1px solid var(--line,rgba(15,23,42,.12)) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.18) !important;
}
.mention-suggest--comment-hardfix[hidden]{display:none !important;}
.mention-suggest--comment-hardfix .ms-loading,
.mention-suggest--comment-hardfix .ms-empty{min-height:46px !important;padding:12px 14px !important;font-size:13px !important;font-weight:750 !important;}
.mention-suggest--comment-hardfix .ms-item{min-height:54px !important;padding:8px 11px !important;gap:10px !important;align-items:center !important;border-bottom:1px solid rgba(15,23,42,.075) !important;background:var(--bg-elevated,#fff) !important;color:var(--text,#111827) !important;}
.mention-suggest--comment-hardfix .ms-item:last-child{border-bottom:0 !important;}
.mention-suggest--comment-hardfix .ms-av,
.mention-suggest--comment-hardfix .ms-av-fallback{width:34px !important;height:34px !important;min-width:34px !important;font-size:15px !important;font-weight:850 !important;}
.mention-suggest--comment-hardfix .ms-main{gap:2px !important;min-width:0 !important;}
.mention-suggest--comment-hardfix .ms-line1{gap:6px !important;min-width:0 !important;}
.mention-suggest--comment-hardfix .ms-handle{font-size:14px !important;line-height:1.15 !important;font-weight:850 !important;}
.mention-suggest--comment-hardfix .ms-display-name{font-size:12px !important;font-weight:750 !important;max-width:32vw !important;}
.mention-suggest--comment-hardfix .ms-user-badge{width:18px !important;height:18px !important;min-width:18px !important;}
.mention-suggest--comment-hardfix .ms-verified-badge svg{width:14px !important;height:14px !important;}
.mention-suggest--comment-hardfix .ms-stats{display:flex !important;align-items:center !important;flex-wrap:nowrap !important;gap:8px !important;max-width:100% !important;overflow:hidden !important;white-space:nowrap !important;}
.mention-suggest--comment-hardfix .ms-stat{background:transparent !important;border-radius:0 !important;padding:0 !important;gap:3px !important;font-size:11px !important;line-height:1.2 !important;font-weight:750 !important;color:var(--muted,#6b7280) !important;}
.mention-suggest--comment-hardfix .ms-stat b{font-size:11px !important;font-weight:850 !important;color:var(--text,#111827) !important;}
.mention-suggest--comment-hardfix .ms-stat em{font-size:11px !important;font-style:normal !important;color:var(--muted,#6b7280) !important;}
@media (max-width:560px){.mention-suggest--comment-hardfix{max-height:156px !important;border-radius:13px !important;}.mention-suggest--comment-hardfix .ms-item{min-height:52px !important;padding:8px 10px !important;}.mention-suggest--comment-hardfix .ms-display-name{max-width:26vw !important;}.mention-suggest--comment-hardfix .ms-stats{gap:7px !important;}.mention-suggest--comment-hardfix .ms-stat,.mention-suggest--comment-hardfix .ms-stat b,.mention-suggest--comment-hardfix .ms-stat em{font-size:10.5px !important;}}
:root[data-theme="dark"] .mention-suggest--comment-hardfix{background:#111827 !important;color:#f9fafb !important;border-color:rgba(255,255,255,.12) !important;}
:root[data-theme="dark"] .mention-suggest--comment-hardfix .ms-item{background:#111827 !important;color:#f9fafb !important;border-bottom-color:rgba(255,255,255,.08) !important;}
:root[data-theme="dark"] .mention-suggest--comment-hardfix .ms-stat,
:root[data-theme="dark"] .mention-suggest--comment-hardfix .ms-stat em,
:root[data-theme="dark"] .mention-suggest--comment-hardfix .ms-display-name{color:rgba(249,250,251,.72) !important;}
:root[data-theme="dark"] .mention-suggest--comment-hardfix .ms-stat b,
:root[data-theme="dark"] .mention-suggest--comment-hardfix .ms-handle{color:#f9fafb !important;}

/* === 2026-05-13: visible inline @mention suggestions for fixed comment composer === */
.comment-composer{
  overflow:visible !important;
}
.comment-composer .mention-suggest--comment-inline-visible{
  position:relative !important;
  display:block;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:calc(100vw - 24px) !important;
  max-width:620px !important;
  max-height:156px !important;
  margin:0 auto 8px !important;
  z-index:2147483647 !important;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
  border:1px solid var(--line,rgba(15,23,42,.12)) !important;
  border-radius:14px !important;
  box-shadow:0 10px 28px rgba(15,23,42,.16) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
}
.comment-composer .mention-suggest--comment-inline-visible[hidden]{display:none !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-loading,
.comment-composer .mention-suggest--comment-inline-visible .ms-empty{
  min-height:46px !important;
  padding:12px 14px !important;
  font-size:13px !important;
  font-weight:750 !important;
}
.comment-composer .mention-suggest--comment-inline-visible .ms-item{
  width:100% !important;
  min-height:52px !important;
  padding:8px 10px !important;
  gap:10px !important;
  align-items:center !important;
  border:0 !important;
  border-bottom:1px solid rgba(15,23,42,.075) !important;
  border-radius:0 !important;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
  touch-action:pan-y !important;
  -webkit-user-select:none !important;
  user-select:none !important;
  cursor:pointer !important;
}
.comment-composer .mention-suggest--comment-inline-visible .ms-item:last-child{border-bottom:0 !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-av,
.comment-composer .mention-suggest--comment-inline-visible .ms-av-fallback{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  font-size:15px !important;
  font-weight:850 !important;
}
.comment-composer .mention-suggest--comment-inline-visible .ms-main{gap:2px !important;min-width:0 !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-line1{gap:6px !important;min-width:0 !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-handle{font-size:14px !important;line-height:1.15 !important;font-weight:850 !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-display-name{font-size:12px !important;font-weight:750 !important;max-width:26vw !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-user-badge{width:18px !important;height:18px !important;min-width:18px !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-verified-badge svg{width:14px !important;height:14px !important;}
.comment-composer .mention-suggest--comment-inline-visible .ms-stats{
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:7px !important;
  max-width:100% !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.comment-composer .mention-suggest--comment-inline-visible .ms-stat{
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  gap:3px !important;
  font-size:10.5px !important;
  line-height:1.2 !important;
  font-weight:750 !important;
  color:var(--muted,#6b7280) !important;
}
.comment-composer .mention-suggest--comment-inline-visible .ms-stat b{
  font-size:10.5px !important;
  font-weight:850 !important;
  color:var(--text,#111827) !important;
}
.comment-composer .mention-suggest--comment-inline-visible .ms-stat em{
  font-size:10.5px !important;
  font-style:normal !important;
  color:var(--muted,#6b7280) !important;
}
:root[data-theme="dark"] .comment-composer .mention-suggest--comment-inline-visible{
  background:#111827 !important;
  color:#f9fafb !important;
  border-color:rgba(255,255,255,.12) !important;
}
:root[data-theme="dark"] .comment-composer .mention-suggest--comment-inline-visible .ms-item{
  background:#111827 !important;
  color:#f9fafb !important;
  border-bottom-color:rgba(255,255,255,.08) !important;
}
:root[data-theme="dark"] .comment-composer .mention-suggest--comment-inline-visible .ms-stat,
:root[data-theme="dark"] .comment-composer .mention-suggest--comment-inline-visible .ms-stat em,
:root[data-theme="dark"] .comment-composer .mention-suggest--comment-inline-visible .ms-display-name{color:rgba(249,250,251,.72) !important;}
:root[data-theme="dark"] .comment-composer .mention-suggest--comment-inline-visible .ms-stat b,
:root[data-theme="dark"] .comment-composer .mention-suggest--comment-inline-visible .ms-handle{color:#f9fafb !important;}

/* === 2026-05-13: hard visible comment/reply mention dropdown === */
.comment-mention-live-box{
  position:fixed !important;
  z-index:2147483647 !important;
  display:none;
  background:var(--bg-elevated,#fff) !important;
  color:var(--text,#111827) !important;
  border:1px solid var(--line,rgba(15,23,42,.12)) !important;
  border-radius:14px !important;
  box-shadow:0 12px 30px rgba(15,23,42,.18) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  touch-action:pan-y !important;
  max-height:176px !important;
}
.comment-mention-live-box.is-open{display:block !important;}
.comment-mention-live-box .cml-empty,
.comment-mention-live-box .cml-loading{padding:12px 14px;font-size:13px;font-weight:750;color:var(--muted,#6b7280);}
.comment-mention-live-box .cml-row{
  width:100%;border:0;border-bottom:1px solid rgba(15,23,42,.075);background:var(--bg-elevated,#fff);color:var(--text,#111827);
  display:flex;align-items:center;gap:10px;text-align:left;padding:9px 11px;min-height:54px;touch-action:pan-y;cursor:pointer;
  -webkit-user-select:none;user-select:none;
}
.comment-mention-live-box .cml-row:last-child{border-bottom:0;}
.comment-mention-live-box .cml-av,.comment-mention-live-box .cml-fb{width:34px;height:34px;min-width:34px;border-radius:999px;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:850;overflow:hidden;}
.comment-mention-live-box .cml-main{min-width:0;display:flex;flex-direction:column;gap:2px;}
.comment-mention-live-box .cml-top{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;}
.comment-mention-live-box .cml-handle{font-size:14px;font-weight:850;line-height:1.15;color:var(--text,#111827);}
.comment-mention-live-box .cml-name{font-size:12px;font-weight:750;color:var(--muted,#6b7280);overflow:hidden;text-overflow:ellipsis;max-width:34vw;}
.comment-mention-live-box .cml-badge{width:18px;height:18px;min-width:18px;object-fit:contain;border-radius:50%;}
.comment-mention-live-box .cml-stats{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;max-width:100%;}
.comment-mention-live-box .cml-stat{font-size:10.5px;font-weight:750;color:var(--muted,#6b7280);}
.comment-mention-live-box .cml-stat b{font-size:10.5px;font-weight:850;color:var(--text,#111827);}
@media(max-width:560px){.comment-mention-live-box{max-height:154px !important;border-radius:13px !important;}.comment-mention-live-box .cml-row{min-height:52px;padding:8px 10px;}.comment-mention-live-box .cml-stats{gap:7px;}.comment-mention-live-box .cml-name{max-width:25vw;}}
:root[data-theme="dark"] .comment-mention-live-box{background:#111827 !important;color:#f9fafb !important;border-color:rgba(255,255,255,.12) !important;}
:root[data-theme="dark"] .comment-mention-live-box .cml-row{background:#111827 !important;color:#f9fafb !important;border-bottom-color:rgba(255,255,255,.08) !important;}
:root[data-theme="dark"] .comment-mention-live-box .cml-empty,
:root[data-theme="dark"] .comment-mention-live-box .cml-loading,
:root[data-theme="dark"] .comment-mention-live-box .cml-name,
:root[data-theme="dark"] .comment-mention-live-box .cml-stat{color:rgba(249,250,251,.72) !important;}
:root[data-theme="dark"] .comment-mention-live-box .cml-handle,
:root[data-theme="dark"] .comment-mention-live-box .cml-stat b{color:#f9fafb !important;}

/* === 2026-05-13: PM thread header cleanup ===
   Replace the old Profile button with a clean Back to inbox link and show the
   conversation partner avatar on the left side of the conversation header. */
.pm-chat-head .pm-chat-peer{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}
.pm-chat-peer__avatarlink{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--bg-soft,#f3f4f6) !important;
  text-decoration:none !important;
}
.pm-chat-peer__avatar{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:999px !important;
}
.pm-chat-peer__meta{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.pm-chat-actions .pm-back-in-head{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  padding:0 14px !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--brand,#ff6500) !important;
  font-weight:900 !important;
  font-size:14px !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
.pm-chat-actions .pm-back-in-head:hover,
.pm-chat-actions .pm-back-in-head:focus-visible{
  background:color-mix(in srgb, var(--brand,#ff6500) 9%, transparent) !important;
  text-decoration:none !important;
}
.pm-no-compose-spacer{
  height:16px !important;
  pointer-events:none !important;
}
.pm-no-compose .pm-chat-card>.row{
  display:none !important;
}
@media (max-width:700px){
  .pm-chat-peer__avatarlink{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
  }
  .pm-chat-head .pm-chat-peer{
    gap:9px !important;
  }
  .pm-chat-actions .pm-back-in-head{
    min-height:38px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }
  .pm-chat-head .h1{
    max-width:44vw !important;
  }
}
@media (max-width:380px){
  .pm-chat-peer__avatarlink{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }
  .pm-chat-actions .pm-back-in-head{
    font-size:12px !important;
    padding:0 8px !important;
  }
  .pm-chat-head .h1{
    max-width:40vw !important;
  }
}


/* === 2026-05-13: fixed puzzle media grid for posts ===
   The media counter is an absolute overlay, but it is still a DOM child.
   Use cell-based placement so 3 uploaded images fill the whole grid in both
   feed list cards and single post grid cards without blank fields. */
.fi-media-grid{
  position:relative !important;
  grid-auto-flow:dense !important;
  align-items:stretch !important;
}
.fi-media-grid .fi-media-cell{
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
}
.fi-media-grid .fi-media-cell > img,
.fi-media-grid .fi-media-cell > video,
.fi-media-grid .fi-media-cell > a,
.fi-media-grid .fi-media-cell > .fi-video-open{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.fi-media-grid .fi-media-cell > img,
.fi-media-grid .fi-media-cell > video,
.fi-media-grid .fi-media-cell > a > img,
.fi-media-grid .fi-media-cell > .fi-video-open > video{
  object-fit:cover !important;
}
.fi-media-grid-3 .fi-media-cell:nth-of-type(1){
  grid-row:1 / span 2 !important;
  grid-column:1 !important;
}
.fi-media-grid-3 .fi-media-cell:nth-of-type(2){
  grid-row:1 !important;
  grid-column:2 !important;
}
.fi-media-grid-3 .fi-media-cell:nth-of-type(3){
  grid-row:2 !important;
  grid-column:2 !important;
}
.fi-media-grid-2 .fi-media-cell:nth-of-type(1),
.fi-media-grid-2 .fi-media-cell:nth-of-type(2),
.fi-media-grid-4 .fi-media-cell{
  min-height:0 !important;
}

/* === Channels: clean mobile list pass === */
.channels-page{padding-bottom:20px}
.channels-page .channels-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.channels-page .channels-head h1{margin:0;font-size:22px;letter-spacing:-.02em}
.channels-page .channels-create-btn{
  flex:0 0 auto;
  height:38px;
  padding:0 14px;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.channels-page .seg-tabs{
  display:flex;
  gap:8px;
  align-items:center;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  margin:14px 0 18px;
  padding:0 1px 2px;
}
.channels-page .seg-tabs::-webkit-scrollbar{display:none}
.channels-page .seg-tabs .seg{
  flex:0 0 auto;
  min-width:max-content;
  height:38px;
  padding:0 16px;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  border:1px solid #ececef;
  background:#f5f5f6;
  color:#18181b;
  box-shadow:none;
}
.channels-page .seg-tabs .seg.on{
  background:#09090b;
  color:#fff;
  border-color:#09090b;
}
.channels-page .channel-list{gap:10px}
.channels-page .channel-row{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid #eeeeef;
  border-radius:18px;
  background:#fff;
  padding:12px;
  overflow:hidden;
  box-shadow:none;
}
.channels-page .channel-row-left{
  display:flex;
  align-items:center;
  gap:12px;
  flex:1 1 auto;
  min-width:0;
  padding:0;
  color:#111113;
  text-decoration:none;
}
.channels-page .channel-row-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  flex:0 0 52px;
  object-fit:cover;
  background:#f2f2f3;
}
.channels-page .channel-row-icon.placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:900;
  color:#111113;
}
.channels-page .channel-row-mid{min-width:0;flex:1 1 auto}
.channels-page .channel-row-title{
  display:flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:nowrap;
  min-width:0;
}
.channels-page .channel-row-title .name{
  min-width:0;
  max-width:58%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
}
.channels-page .channel-row-title .slug{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  font-weight:800;
  color:#767676;
}
.channels-page .channel-row-desc{
  margin-top:3px;
  color:#3f3f46;
  font-size:14px;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.channels-page .channel-row-meta{
  margin-top:6px;
  color:#6f6f76;
  font-size:13px;
  font-weight:800;
}
.channels-page .channel-row-right{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.channels-page .channel-row-right form{margin:0}
.channels-page .channel-row-action{
  height:36px;
  padding:0 14px;
  font-size:14px;
  font-weight:900;
  white-space:nowrap;
}
.channels-page .channel-actions-row{display:none}
@media (max-width:420px){
  .channels-page .channels-head{align-items:flex-start}
  .channels-page .channels-create-btn{height:36px;padding:0 12px;font-size:13px}
  .channels-page .channel-row{padding:12px 10px;border-radius:16px}
  .channels-page .channel-row-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px}
  .channels-page .channel-row-title .name{max-width:54%}
  .channels-page .channel-row-action{height:34px;padding:0 12px;font-size:13px}
}
:root[data-theme="dark"] .channels-page .seg-tabs .seg{
  background:rgba(255,255,255,.06) !important;
  color:rgba(235,241,248,.92) !important;
  border-color:rgba(255,255,255,.09) !important;
}
:root[data-theme="dark"] .channels-page .seg-tabs .seg.on{
  background:#f3f6fb !important;
  color:#0b111b !important;
  border-color:#f3f6fb !important;
}
:root[data-theme="dark"] .channels-page .channel-row{
  background:rgba(255,255,255,.045) !important;
  border-color:rgba(255,255,255,.08) !important;
}
:root[data-theme="dark"] .channels-page .channel-row-left,
:root[data-theme="dark"] .channels-page .channel-row-title .name{color:#eef4fb !important}
:root[data-theme="dark"] .channels-page .channel-row-title .slug,
:root[data-theme="dark"] .channels-page .channel-row-meta{color:rgba(190,200,214,.86) !important}
:root[data-theme="dark"] .channels-page .channel-row-desc{color:rgba(220,228,238,.90) !important}
:root[data-theme="dark"] .channels-page .channel-row-icon{background:rgba(255,255,255,.08) !important}
:root[data-theme="dark"] .channels-page .channel-row-icon.placeholder{color:#eef4fb !important}

/* Channels discover: clean compact category preview */
.channels-page .channel-cat-compact{
  margin:14px 0 18px;
}
.channels-page .channel-cat-compact-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.channels-page .channel-cat-compact-head h2{
  margin:0;
  font-size:17px;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--text,#111827);
}
.channels-page .channel-cat-all{
  flex:0 0 auto;
  font-size:13px;
  font-weight:800;
  color:var(--theme-primary,#ff5a00);
  text-decoration:none;
}
.channels-page .channel-cat-strip{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 2px 8px;
  margin:0 -2px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.channels-page .channel-cat-strip::-webkit-scrollbar{
  display:none;
}
.channels-page .channel-cat-chip{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:36px;
  max-width:210px;
  padding:8px 13px;
  border-radius:999px;
  border:1px solid var(--line,rgba(0,0,0,.08));
  background:var(--bg-elevated,#fff);
  color:var(--theme-primary,#ff5a00);
  text-decoration:none;
  font-size:14px;
  font-weight:850;
  line-height:1;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  scroll-snap-align:start;
}
.channels-page .channel-cat-chip span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.channels-page .channel-cat-chip small{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(255,90,0,.10);
  color:var(--theme-primary,#ff5a00);
  font-size:11px;
  font-weight:900;
}
.channels-page .channel-cat-chip:active{
  transform:translateY(1px);
}
@media (max-width:700px){
  .channels-page .channel-cat-compact{margin:12px 0 16px;}
  .channels-page .channel-cat-compact-head h2{font-size:16px;}
  .channels-page .channel-cat-chip{min-height:34px;padding:8px 12px;font-size:13.5px;max-width:170px;}
}
:root[data-theme="dark"] .channels-page .channel-cat-chip{
  background:#16181d;
  border-color:rgba(255,255,255,.10);
  box-shadow:none;
}
:root[data-theme="dark"] .channels-page .channel-cat-chip small{
  background:rgba(255,106,0,.16);
}

/* Categories index: searchable list instead of visual overload */
.category-search-box{
  margin:0 0 12px;
}
.category-search-box .input{
  width:100%;
}
.category-empty-state{
  display:block;
  padding:14px 4px 4px;
  color:var(--muted,#6b7280);
  font-size:14px;
  font-weight:700;
}
.category-empty-state[hidden]{
  display:none !important;
}

/* === Channels Discover v2: Reddit-like clean mobile discovery layout === */
.channels-page.channels-discover-v2-page{
  padding-bottom:28px;
  overflow:hidden;
}
.channels-discover-v2-page .channel-topic-explore{
  margin:2px -2px 36px;
}
.channels-discover-v2-page .channel-topic-explore h2,
.channels-discover-v2-page .channel-discover-section-head h2{
  margin:0;
  color:#1f2328;
  font-size:22px;
  line-height:1.16;
  font-weight:850;
  letter-spacing:-.022em;
}
.channels-discover-v2-page .channel-topic-explore h2{
  padding:0 2px 22px;
}
.channels-discover-v2-page .channel-topic-chip-grid{
  display:grid;
  grid-auto-flow:column;
  grid-template-rows:repeat(3, minmax(0, auto));
  grid-auto-columns:max-content;
  column-gap:12px;
  row-gap:14px;
  overflow-x:auto;
  overflow-y:hidden;
  margin:0 -18px;
  padding:0 18px 2px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.channels-discover-v2-page .channel-topic-chip-grid::-webkit-scrollbar{display:none}
.channels-discover-v2-page .channel-topic-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:39px;
  max-width:300px;
  padding:0 18px;
  border:1px solid #e1e4e8;
  border-radius:999px;
  background:#fff;
  color:#25272c;
  text-decoration:none;
  font-size:18px;
  font-weight:450;
  line-height:1;
  letter-spacing:.004em;
  white-space:nowrap;
  box-shadow:none;
}
.channels-discover-v2-page .channel-topic-chip:active{background:#f7f8fa}
.channels-discover-v2-page .channel-discover-section{
  margin:0 -18px 48px;
}
.channels-discover-v2-page .channel-discover-section--recommended{
  margin-top:0;
}
.channels-discover-v2-page .channel-discover-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0;
  padding:0 18px 22px;
}
.channels-discover-v2-page .channel-discover-chevron{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:26px;
  height:26px;
  color:#17191d;
  text-decoration:none;
  font-size:40px;
  line-height:20px;
  font-weight:350;
}
.channels-discover-v2-page .channel-discover-rail{
  display:flex;
  align-items:flex-start;
  gap:24px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 18px 4px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.channels-discover-v2-page .channel-discover-rail::-webkit-scrollbar{display:none}
.channels-discover-v2-page .channel-discover-stack{
  flex:0 0 min(90vw, 375px);
  display:flex;
  flex-direction:column;
  gap:14px;
  scroll-snap-align:start;
}
.channels-discover-v2-page .channel-discover-card{
  position:relative;
  min-height:142px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:14px 16px 16px;
  border:1px solid #e2e4e8;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
  overflow:hidden;
}
.channels-discover-v2-page .channel-discover-card-main{
  min-width:0;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:14px;
  color:inherit;
  text-decoration:none;
}
.channels-discover-v2-page .channel-discover-avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  object-fit:cover;
  background:#eef1f5;
  align-self:start;
}
.channels-discover-v2-page .channel-discover-avatar--placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:#0f172a;
  font-size:22px;
  font-weight:850;
}
.channels-discover-v2-page .channel-discover-copy{
  min-width:0;
  display:block;
  padding-top:2px;
}
.channels-discover-v2-page .channel-discover-name{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#1c1f24;
  font-size:22px;
  line-height:1.08;
  font-weight:850;
  letter-spacing:-.025em;
}
.channels-discover-v2-page .channel-discover-meta{
  display:block;
  margin-top:5px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#6b7280;
  font-size:17px;
  line-height:1.18;
  font-weight:450;
  letter-spacing:-.01em;
}
.channels-discover-v2-page .channel-discover-desc{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:8px;
  color:#5c636d;
  font-size:17px;
  line-height:1.13;
  font-weight:420;
  letter-spacing:.002em;
}
.channels-discover-v2-page .channel-discover-action{
  grid-column:2;
  grid-row:1;
  display:flex;
  justify-content:flex-end;
  align-items:flex-start;
  padding-top:6px;
}
.channels-discover-v2-page .channel-discover-action form{margin:0}
.channels-discover-v2-page .channel-discover-join{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:104px;
  height:42px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:#0646a8;
  color:#fff;
  text-decoration:none;
  font:inherit;
  font-size:17px;
  line-height:1;
  font-weight:700;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}
.channels-discover-v2-page .channel-discover-join.is-joined,
.channels-discover-v2-page .channel-discover-join.is-disabled{
  background:#eef1f6;
  color:#687282;
  cursor:default;
}
.channels-discover-v2-page .channel-discover-empty{
  padding:20px 2px;
}
@media (max-width:700px){
  .channels-page.channels-discover-v2-page{
    padding-top:0;
  }
}
@media (max-width:430px){
  .channels-discover-v2-page .channel-topic-explore h2,
  .channels-discover-v2-page .channel-discover-section-head h2{
    font-size:21px;
  }
  .channels-discover-v2-page .channel-topic-chip{
    min-height:38px;
    padding:0 17px;
    font-size:17px;
  }
  .channels-discover-v2-page .channel-discover-stack{
    flex-basis:calc(100vw - 52px);
    gap:13px;
  }
  .channels-discover-v2-page .channel-discover-card{
    min-height:136px;
    padding:13px 14px 15px;
    border-radius:17px;
    gap:10px;
  }
  .channels-discover-v2-page .channel-discover-card-main{
    grid-template-columns:50px minmax(0,1fr);
    gap:12px;
  }
  .channels-discover-v2-page .channel-discover-avatar{
    width:50px;
    height:50px;
  }
  .channels-discover-v2-page .channel-discover-name{
    font-size:21px;
  }
  .channels-discover-v2-page .channel-discover-meta,
  .channels-discover-v2-page .channel-discover-desc{
    font-size:16.5px;
  }
  .channels-discover-v2-page .channel-discover-join{
    min-width:94px;
    height:39px;
    padding:0 15px;
    font-size:16px;
  }
}
@media (max-width:360px){
  .channels-discover-v2-page .channel-discover-card-main{
    grid-template-columns:46px minmax(0,1fr);
    gap:10px;
  }
  .channels-discover-v2-page .channel-discover-avatar{width:46px;height:46px}
  .channels-discover-v2-page .channel-discover-join{min-width:84px;padding:0 12px;font-size:15px}
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-topic-explore h2,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-section-head h2,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-chevron{
  color:#eef4fb;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-topic-chip,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-card{
  background:#111820;
  border-color:rgba(255,255,255,.11);
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-topic-chip,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-name{
  color:#eef4fb;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-meta,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-desc{
  color:rgba(210,219,231,.78);
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-join.is-joined,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-join.is-disabled{
  background:rgba(255,255,255,.10);
  color:rgba(220,228,238,.80);
}

/* === Channels Discover v3: simpler, tighter, minimalist mobile layout === */
@media (max-width: 980px){
  .channels-page.channels-discover-v2-page{
    box-sizing:border-box !important;
    padding:2px 0 24px 28px !important;
    overflow:hidden !important;
  }

  .channels-discover-v2-page .channel-topic-explore{
    display:block !important;
    margin:0 0 34px !important;
  }
  .channels-discover-v2-page .channel-topic-explore h2{
    display:block !important;
    visibility:visible !important;
    margin:0 !important;
    padding:0 18px 16px 0 !important;
    color:#1f2328 !important;
    font-size:20px !important;
    line-height:1.18 !important;
    font-weight:800 !important;
    letter-spacing:-.018em !important;
  }
  .channels-discover-v2-page .channel-topic-chip-grid{
    display:grid !important;
    grid-auto-flow:column !important;
    grid-template-rows:repeat(3, 34px) !important;
    grid-auto-columns:max-content !important;
    column-gap:10px !important;
    row-gap:10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    margin:0 !important;
    padding:0 26px 1px 0 !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  .channels-discover-v2-page .channel-topic-chip{
    min-height:34px !important;
    height:34px !important;
    max-width:270px !important;
    padding:0 14px !important;
    border:1px solid #e2e3e6 !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#25272c !important;
    font-size:16px !important;
    font-weight:450 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
  }

  .channels-discover-v2-page .channel-discover-section{
    margin:0 0 36px !important;
  }
  .channels-discover-v2-page .channel-discover-section--recommended{
    margin-top:0 !important;
  }
  .channels-discover-v2-page .channel-discover-section-head{
    margin:0 !important;
    padding:0 26px 14px 0 !important;
    gap:10px !important;
  }
  .channels-discover-v2-page .channel-discover-section-head h2{
    margin:0 !important;
    color:#1f2328 !important;
    font-size:21px !important;
    line-height:1.15 !important;
    font-weight:820 !important;
    letter-spacing:-.02em !important;
  }
  .channels-discover-v2-page .channel-discover-chevron{
    width:24px !important;
    height:24px !important;
    color:#17191d !important;
    font-size:34px !important;
    line-height:20px !important;
    font-weight:350 !important;
  }
  .channels-discover-v2-page .channel-discover-rail{
    gap:16px !important;
    margin:0 !important;
    padding:0 26px 2px 0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity !important;
    scrollbar-width:none !important;
  }
  .channels-discover-v2-page .channel-discover-stack{
    flex:0 0 calc(100vw - 76px) !important;
    max-width:760px !important;
    gap:8px !important;
    scroll-snap-align:start !important;
  }
  .channels-discover-v2-page .channel-discover-card{
    min-height:104px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    align-items:start !important;
    padding:10px 12px !important;
    border:1px solid #e2e4e8 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:none !important;
  }
  .channels-discover-v2-page .channel-discover-card-main{
    grid-template-columns:42px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:start !important;
    min-width:0 !important;
  }
  .channels-discover-v2-page .channel-discover-avatar{
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
  }
  .channels-discover-v2-page .channel-discover-avatar--placeholder{
    font-size:18px !important;
    font-weight:820 !important;
  }
  .channels-discover-v2-page .channel-discover-copy{
    padding-top:1px !important;
    min-width:0 !important;
  }
  .channels-discover-v2-page .channel-discover-name{
    font-size:20px !important;
    line-height:1.08 !important;
    font-weight:820 !important;
    letter-spacing:-.022em !important;
  }
  .channels-discover-v2-page .channel-discover-meta{
    margin-top:3px !important;
    font-size:15px !important;
    line-height:1.18 !important;
    font-weight:430 !important;
    color:#6b7280 !important;
  }
  .channels-discover-v2-page .channel-discover-desc{
    margin-top:6px !important;
    font-size:15px !important;
    line-height:1.17 !important;
    font-weight:420 !important;
    color:#5c636d !important;
    -webkit-line-clamp:2 !important;
  }
  .channels-discover-v2-page .channel-discover-action{
    padding-top:3px !important;
    align-items:flex-start !important;
  }
  .channels-discover-v2-page .channel-discover-join{
    min-width:86px !important;
    height:34px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1 !important;
  }
}

@media (max-width: 430px){
  .channels-page.channels-discover-v2-page{
    padding-left:22px !important;
  }
  .channels-discover-v2-page .channel-topic-explore{
    margin-bottom:30px !important;
  }
  .channels-discover-v2-page .channel-topic-explore h2{
    padding-bottom:14px !important;
    font-size:19px !important;
  }
  .channels-discover-v2-page .channel-topic-chip-grid{
    grid-template-rows:repeat(3, 32px) !important;
    column-gap:9px !important;
    row-gap:9px !important;
    padding-right:22px !important;
  }
  .channels-discover-v2-page .channel-topic-chip{
    min-height:32px !important;
    height:32px !important;
    padding:0 13px !important;
    font-size:15.5px !important;
  }
  .channels-discover-v2-page .channel-discover-section{
    margin-bottom:32px !important;
  }
  .channels-discover-v2-page .channel-discover-section-head{
    padding:0 22px 13px 0 !important;
  }
  .channels-discover-v2-page .channel-discover-section-head h2{
    font-size:20px !important;
  }
  .channels-discover-v2-page .channel-discover-rail{
    gap:14px !important;
    padding-right:22px !important;
  }
  .channels-discover-v2-page .channel-discover-stack{
    flex-basis:calc(100vw - 58px) !important;
    gap:8px !important;
  }
  .channels-discover-v2-page .channel-discover-card{
    min-height:98px !important;
    padding:9px 10px !important;
    border-radius:15px !important;
  }
  .channels-discover-v2-page .channel-discover-card-main{
    grid-template-columns:39px minmax(0,1fr) !important;
    gap:10px !important;
  }
  .channels-discover-v2-page .channel-discover-avatar{
    width:39px !important;
    height:39px !important;
  }
  .channels-discover-v2-page .channel-discover-name{
    font-size:19px !important;
  }
  .channels-discover-v2-page .channel-discover-meta,
  .channels-discover-v2-page .channel-discover-desc{
    font-size:14.5px !important;
  }
  .channels-discover-v2-page .channel-discover-join{
    min-width:78px !important;
    height:32px !important;
    padding:0 12px !important;
    font-size:14px !important;
  }
}

@media (max-width: 360px){
  .channels-page.channels-discover-v2-page{
    padding-left:18px !important;
  }
  .channels-discover-v2-page .channel-discover-stack{
    flex-basis:calc(100vw - 48px) !important;
  }
  .channels-discover-v2-page .channel-discover-card-main{
    grid-template-columns:36px minmax(0,1fr) !important;
    gap:9px !important;
  }
  .channels-discover-v2-page .channel-discover-avatar{width:36px !important;height:36px !important}
  .channels-discover-v2-page .channel-discover-join{min-width:70px !important;padding:0 10px !important;font-size:13px !important}
}

:root[data-theme="dark"] .channels-discover-v2-page .channel-topic-explore h2,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-section-head h2,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-chevron{
  color:#eef4fb !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-topic-chip,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-card{
  background:#111820 !important;
  border-color:rgba(255,255,255,.12) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-topic-chip,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-name{
  color:#eef4fb !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-meta,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-desc{
  color:rgba(210,219,231,.80) !important;
}

/* === 2026-05-13: Discover channel cards match simple channel list rows === */
.channels-discover-v2-page .channel-discover-rail{
  display:flex !important;
  align-items:flex-start !important;
  gap:16px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 24px 4px 0 !important;
  margin:0 !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
  overscroll-behavior-x:contain !important;
  scroll-snap-type:x proximity !important;
}
.channels-discover-v2-page .channel-discover-rail::-webkit-scrollbar{display:none !important;}
.channels-discover-v2-page .channel-discover-stack{
  flex:0 0 calc(100vw - 44px) !important;
  max-width:520px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  scroll-snap-align:start !important;
}
.channels-discover-v2-page .channel-discover-card{
  min-height:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  width:100% !important;
  padding:12px 12px !important;
  border:1px solid #eeeeef !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.channels-discover-v2-page .channel-discover-card-main{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  color:#111113 !important;
  text-decoration:none !important;
}
.channels-discover-v2-page .channel-discover-avatar{
  width:52px !important;
  height:52px !important;
  flex:0 0 52px !important;
  border-radius:16px !important;
  object-fit:cover !important;
  background:#f2f2f3 !important;
  align-self:center !important;
}
.channels-discover-v2-page .channel-discover-avatar--placeholder{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#111113 !important;
  background:#f2f2f3 !important;
  font-size:20px !important;
  font-weight:900 !important;
}
.channels-discover-v2-page .channel-discover-copy{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:block !important;
  padding:0 !important;
}
.channels-discover-v2-page .channel-discover-titleline{
  display:flex !important;
  align-items:baseline !important;
  gap:7px !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:nowrap !important;
}
.channels-discover-v2-page .channel-discover-name{
  display:block !important;
  min-width:0 !important;
  max-width:58% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#111113 !important;
  font-size:16px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
}
.channels-discover-v2-page .channel-discover-slug{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#767676 !important;
  font-size:14px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}
.channels-discover-v2-page .channel-discover-desc{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  overflow:hidden !important;
  margin:3px 0 0 !important;
  color:#3f3f46 !important;
  font-size:14px !important;
  line-height:1.3 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}
.channels-discover-v2-page .channel-discover-meta{
  display:block !important;
  margin:6px 0 0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#6f6f76 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
.channels-discover-v2-page .channel-discover-action{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  grid-column:auto !important;
  grid-row:auto !important;
  padding:0 !important;
}
.channels-discover-v2-page .channel-discover-action form{margin:0 !important;}
.channels-discover-v2-page .channel-discover-join{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:86px !important;
  height:36px !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:999px !important;
  background:#0646a8 !important;
  color:#fff !important;
  text-decoration:none !important;
  font:inherit !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  white-space:nowrap !important;
  cursor:pointer !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.channels-discover-v2-page .channel-discover-join.is-joined,
.channels-discover-v2-page .channel-discover-join.is-disabled{
  background:#f0f1f5 !important;
  color:#687282 !important;
  cursor:default !important;
}
@media (max-width:430px){
  .channels-discover-v2-page .channel-discover-rail{
    gap:14px !important;
    padding-right:22px !important;
  }
  .channels-discover-v2-page .channel-discover-stack{
    flex-basis:calc(100vw - 44px) !important;
    gap:10px !important;
  }
  .channels-discover-v2-page .channel-discover-card{
    padding:12px 10px !important;
    border-radius:16px !important;
  }
  .channels-discover-v2-page .channel-discover-card-main{
    gap:12px !important;
  }
  .channels-discover-v2-page .channel-discover-avatar{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
    border-radius:15px !important;
  }
  .channels-discover-v2-page .channel-discover-name{
    max-width:54% !important;
  }
  .channels-discover-v2-page .channel-discover-join{
    min-width:80px !important;
    height:34px !important;
    padding:0 12px !important;
    font-size:13px !important;
  }
}
@media (max-width:360px){
  .channels-discover-v2-page .channel-discover-stack{
    flex-basis:calc(100vw - 36px) !important;
  }
  .channels-discover-v2-page .channel-discover-card-main{gap:9px !important;}
  .channels-discover-v2-page .channel-discover-avatar{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
    border-radius:14px !important;
  }
  .channels-discover-v2-page .channel-discover-join{
    min-width:72px !important;
    padding:0 10px !important;
    font-size:12.5px !important;
  }
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-card{
  background:rgba(255,255,255,.045) !important;
  border-color:rgba(255,255,255,.08) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-card-main,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-name{
  color:#eef4fb !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-slug,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-meta{
  color:rgba(190,200,214,.86) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-desc{
  color:rgba(220,228,238,.90) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-avatar,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-avatar--placeholder{
  background:rgba(255,255,255,.08) !important;
  color:#eef4fb !important;
}

/* === 2026-05-13: Discover lanes - every topic/channel row scrolls independently === */
.channels-discover-v2-page .channel-topic-chip-lanes,
.channels-discover-v2-page .channel-discover-lanes{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.channels-discover-v2-page .channel-topic-chip-row,
.channels-discover-v2-page .channel-discover-lane{
  display:flex !important;
  align-items:stretch !important;
  gap:10px !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
  overscroll-behavior-x:contain !important;
  scroll-snap-type:x proximity !important;
}
.channels-discover-v2-page .channel-topic-chip-row::-webkit-scrollbar,
.channels-discover-v2-page .channel-discover-lane::-webkit-scrollbar{
  display:none !important;
}
.channels-discover-v2-page .channel-topic-chip-row{
  padding:0 24px 0 0 !important;
}
.channels-discover-v2-page .channel-topic-chip-row .channel-topic-chip{
  flex:0 0 auto !important;
  scroll-snap-align:start !important;
}
.channels-discover-v2-page .channel-discover-lane{
  gap:12px !important;
  padding:0 24px 0 0 !important;
}
.channels-discover-v2-page .channel-discover-lane .channel-discover-card{
  flex:0 0 min(520px, calc(100vw - 90px)) !important;
  max-width:min(520px, calc(100vw - 90px)) !important;
  width:min(520px, calc(100vw - 90px)) !important;
  scroll-snap-align:start !important;
}
.channels-discover-v2-page .channel-discover-section{
  margin-bottom:30px !important;
}
.channels-discover-v2-page .channel-discover-section-head{
  padding-bottom:12px !important;
}
@media (max-width:430px){
  .channels-discover-v2-page .channel-topic-chip-lanes,
  .channels-discover-v2-page .channel-discover-lanes{
    gap:9px !important;
  }
  .channels-discover-v2-page .channel-topic-chip-row{
    gap:9px !important;
    padding-right:20px !important;
  }
  .channels-discover-v2-page .channel-discover-lane{
    gap:10px !important;
    padding-right:20px !important;
  }
  .channels-discover-v2-page .channel-discover-lane .channel-discover-card{
    flex-basis:calc(100vw - 80px) !important;
    max-width:calc(100vw - 80px) !important;
    width:calc(100vw - 80px) !important;
  }
}
@media (max-width:360px){
  .channels-discover-v2-page .channel-discover-lane .channel-discover-card{
    flex-basis:calc(100vw - 68px) !important;
    max-width:calc(100vw - 68px) !important;
    width:calc(100vw - 68px) !important;
  }
}

/* Topbar cleanup: no profile avatars in the global header; use a clean close button instead. */
.topbar-close{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  border-radius:999px !important;
  font-size:28px !important;
  font-weight:400 !important;
  line-height:1 !important;
  background:#fff !important;
  border:1px solid rgba(17,24,39,.08) !important;
  color:#111827 !important;
  box-shadow:none !important;
}
.topbar-close:hover,
.topbar-close:active{
  background:#f5f6f8 !important;
  color:#111827 !important;
}
.topbar-close-spacer{
  display:inline-flex;
  width:36px;
  height:36px;
  flex:0 0 36px;
}
:root[data-theme="dark"] .topbar-close{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.10) !important;
  color:#f8fafc !important;
}
:root[data-theme="dark"] .topbar-close:hover,
:root[data-theme="dark"] .topbar-close:active{
  background:rgba(255,255,255,.10) !important;
  color:#f8fafc !important;
}


/* === 2026-05-13: remove every global topheader back arrow === */
.topbar .topbar-center-back,
.topbar .topbar-back-char,
.topbar .topbar-back-icon{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  min-width:0 !important;
  height:0 !important;
  min-height:0 !important;
  flex:0 0 0 !important;
  margin:0 !important;
  padding:0 !important;
  pointer-events:none !important;
}
.topbar .topbar-center{
  gap:0 !important;
}

/* === 2026-05-13: keep message-center tab counters readable ===
   The global theme checkmark rule reused .pm-center-tab b and made the number
   inherit the same color as the orange badge. Force a real badge contrast here. */
.pm-center-page .pm-center-tab b,
.pm-inbox-page .pm-center-tab b,
.pm-center-tabs .pm-center-tab b,
.pm-center-tabs .pm-center-tab.is-active b{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:22px !important;
  height:22px !important;
  padding:0 7px !important;
  border-radius:999px !important;
  background:var(--theme-button-bg,#ff5a00) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  opacity:1 !important;
}
:root[data-theme="dark"] .pm-center-page .pm-center-tab b,
:root[data-theme="dark"] .pm-inbox-page .pm-center-tab b,
:root[data-theme="dark"] .pm-center-tabs .pm-center-tab b,
:root[data-theme="dark"] .pm-center-tabs .pm-center-tab.is-active b{
  background:var(--theme-button-bg,#ff5a00) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Clean categorized admin settings panel */
.admin-settings-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-bottom: 16px;
}
.admin-settings-top h2 {
  margin: 6px 0 4px;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.03em;
}
.admin-settings-top p {
  margin: 0;
  color: #64748b;
  max-width: 760px;
  line-height: 1.5;
}
.admin-settings-jump {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.admin-settings-jump__item {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #334155;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -.01em;
}
.admin-settings-jump__item:hover,
.admin-settings-jump__item.active {
  border-color: #111827;
  background: #111827;
  color: #fff;
}
.admin-settings-card {
  padding: 0 !important;
  overflow: hidden;
}
.admin-settings-form {
  padding: 18px;
}
.admin-settings-group {
  padding: 0 0 18px;
  border-bottom: 1px solid #eef2f7;
  margin-bottom: 18px;
}
.admin-settings-group:last-of-type {
  border-bottom: 0;
  margin-bottom: 0;
}
.admin-settings-group__head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 0 0 14px;
  margin-bottom: 12px;
  border-bottom: 1px solid #eef2f7;
}
.admin-settings-group__head .kicker {
  margin: 0;
}
.admin-settings-group__head p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.5;
  max-width: 760px;
}
.admin-settings-savebar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: sticky;
  bottom: 10px;
  z-index: 3;
  margin-top: 18px;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 14px 32px rgba(15,23,42,.10);
  backdrop-filter: blur(10px);
}
.admin-settings-savebar span {
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}
@media (min-width: 980px) {
  .admin-settings-top {
    grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
    align-items: start;
  }
}
@media (max-width: 700px) {
  .admin-settings-form { padding: 14px; }
  .admin-settings-jump { gap: 6px; }
  .admin-settings-jump__item { min-height: 31px; padding: 6px 9px; font-size: 11px; }
  .admin-settings-savebar { align-items: stretch; flex-direction: column; }
  .admin-settings-savebar .btn { width: 100%; }
}
:root[data-theme="dark"] .admin-settings-top p,
:root[data-theme="dark"] .admin-settings-group__head p,
:root[data-theme="dark"] .admin-settings-savebar span { color: #94a3b8; }
:root[data-theme="dark"] .admin-settings-jump__item {
  background: rgba(15,23,42,.86);
  border-color: rgba(148,163,184,.22);
  color: #dbeafe;
}
:root[data-theme="dark"] .admin-settings-jump__item:hover,
:root[data-theme="dark"] .admin-settings-jump__item.active {
  background: #e5e7eb;
  border-color: #e5e7eb;
  color: #0f172a;
}
:root[data-theme="dark"] .admin-settings-group,
:root[data-theme="dark"] .admin-settings-group__head,
:root[data-theme="dark"] .admin-settings-savebar { border-color: rgba(148,163,184,.18); }
:root[data-theme="dark"] .admin-settings-savebar { background: rgba(15,23,42,.94); }

/* Fix: Admin "Comment font size" must control all post-detail comment text.
   Older mobile overrides forced .ucom-body to 14px and ignored --fs-comment. */
#comments .ucom .ucom-body.comment-body,
body.is-post #comments .ucom-body.comment-body{
  font-size:var(--fs-comment,16px) !important;
  line-height:var(--font-comment-line,1.45) !important;
  letter-spacing:var(--font-comment-track,0) !important;
}
#comments .ucom .ucom-replyto,
body.is-post #comments .ucom-replyto{
  font-size:calc(var(--fs-comment,16px) * .82) !important;
  line-height:1.25 !important;
}


/* Fix: comment sort must stay usable on mobile, and the comments counter should match the compact filter typography. */
body.is-post #comments .comments-count{
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:var(--text,#111827) !important;
}
body.is-post #comments .comments-sort-select{
  font-size:15px !important;
  line-height:1.25 !important;
  font-weight:500 !important;
}
@media (max-width:700px){
  body.is-post #comments .comments-count{font-size:15px !important;}
  body.is-post #comments .comments-sort-select{font-size:15px !important;}
}

/* Fix: reply expander must not show a separate arrow before "Antworten anzeigen". */
#comments .comment-bar .c-collapse .ccaret{display:none !important;}
#comments .comment-bar .c-collapse{gap:0 !important;}

/* === Sidebar live search + footer links === */
.drawer-search-section{
  padding-top:10px !important;
  padding-bottom:8px !important;
}
.drawer-search-box{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:46px;
  padding:0 12px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:999px;
  background:#f7f8fa;
  color:#111827;
}
.drawer-search-ico{
  flex:0 0 auto;
  width:20px;
  text-align:center;
  color:#9aa3af;
  font-size:22px;
  line-height:1;
  transform:translateY(-1px);
}
.drawer-search-input{
  flex:1;
  min-width:0;
  height:44px;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  font:inherit;
  font-size:15px;
  font-weight:750;
  padding:0 !important;
}
.drawer-search-input::placeholder{
  color:#9aa3af;
  opacity:1;
  -webkit-text-fill-color:#9aa3af;
}
.drawer-search-clear{
  flex:0 0 auto;
  width:30px;
  height:30px;
  border:0;
  border-radius:999px;
  background:rgba(17,24,39,.07);
  color:#4b5563;
  -webkit-text-fill-color:#4b5563;
  font-size:20px;
  line-height:28px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.drawer-search-hideable{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.drawer-panel.is-sidebar-searching .drawer-search-hideable{
  display:none !important;
}
.drawer-search-results{
  padding-top:10px;
}
.drawer-search-results[hidden]{
  display:none !important;
}
.drawer-search-state{
  padding:14px 8px;
  color:#6b7280;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}
.drawer-search-group + .drawer-search-group{
  margin-top:14px;
}
.drawer-search-group-title{
  padding:7px 6px 8px;
  color:#8a8f98;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.drawer-search-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 8px;
  border-radius:14px;
  text-decoration:none;
  color:#111827;
}
.drawer-search-row:hover,
.drawer-search-row:focus{
  background:rgba(17,24,39,.04);
}
.drawer-search-avatar,
.drawer-search-icon{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#eef2f7;
  color:#111827;
  font-size:14px;
  font-weight:900;
}
.drawer-search-icon{
  border-radius:13px;
  background:#f3f4f6;
  color:#6b7280;
}
.drawer-search-media{
  position:relative;
  flex:0 0 auto;
  width:58px;
  height:48px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f3f4f6;
  color:#6b7280;
  font-size:18px;
  font-weight:900;
}
.drawer-search-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.drawer-search-media--empty{
  border:1px solid rgba(17,24,39,.08);
}
.drawer-search-media-count{
  position:absolute;
  right:4px;
  bottom:4px;
  min-width:24px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.78);
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:10px;
  line-height:18px;
  font-weight:900;
  letter-spacing:.02em;
}
.drawer-search-media-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.70);
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:10px;
  font-weight:900;
  box-shadow:0 2px 8px rgba(0,0,0,.16);
}
.drawer-search-avatar img,
.drawer-search-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.drawer-search-main{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.drawer-search-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  color:#111827;
}
.drawer-search-sub{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  line-height:1.25;
  font-weight:700;
  color:#6b7280;
}
.drawer-search-type{
  flex:0 0 auto;
  color:#9aa3af;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.drawer-footer-links{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  padding:14px 8px max(18px, env(safe-area-inset-bottom));
  color:#8a8f98;
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}
.drawer-footer-links a{
  color:inherit;
  text-decoration:none;
}
.drawer-footer-links a:hover,
.drawer-footer-links a:focus{
  color:#111827;
  text-decoration:underline;
}
.drawer-panel--desktop .drawer-footer-links{
  padding-bottom:16px;
}
:root[data-theme="dark"] .drawer-search-box{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.10);
  color:#f8fafc;
}
:root[data-theme="dark"] .drawer-search-input{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
}
:root[data-theme="dark"] .drawer-search-input::placeholder{
  color:rgba(226,232,240,.52);
  -webkit-text-fill-color:rgba(226,232,240,.52);
}
:root[data-theme="dark"] .drawer-search-clear{
  background:rgba(255,255,255,.10);
  color:#e5e7eb;
  -webkit-text-fill-color:#e5e7eb;
}
:root[data-theme="dark"] .drawer-search-state,
:root[data-theme="dark"] .drawer-search-sub,
:root[data-theme="dark"] .drawer-footer-links{
  color:rgba(226,232,240,.64);
}
:root[data-theme="dark"] .drawer-search-group-title{
  color:rgba(226,232,240,.58);
}
:root[data-theme="dark"] .drawer-search-row{
  color:#f8fafc;
}
:root[data-theme="dark"] .drawer-search-row:hover,
:root[data-theme="dark"] .drawer-search-row:focus{
  background:rgba(255,255,255,.07);
}
:root[data-theme="dark"] .drawer-search-name{
  color:#f8fafc;
}
:root[data-theme="dark"] .drawer-search-avatar,
:root[data-theme="dark"] .drawer-search-icon,
:root[data-theme="dark"] .drawer-search-media{
  background:rgba(255,255,255,.08);
  color:#f8fafc;
}
:root[data-theme="dark"] .drawer-search-media--empty{
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .drawer-footer-links a:hover,
:root[data-theme="dark"] .drawer-footer-links a:focus{
  color:#fff;
}

/* Sidebar live search fix: stable mobile drawer behaviour */
.drawer-search-section{
  position:sticky;
  top:0;
  z-index:12;
  background:var(--card, #fff);
  border-bottom:1px solid rgba(17,24,39,.06);
  box-shadow:0 8px 18px rgba(255,255,255,.92);
}
.drawer-search-hideable.is-sidebar-search-hidden{
  display:none !important;
}
.drawer-panel.is-sidebar-searching .drawer-search-section{
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}
.drawer-panel.is-sidebar-searching .drawer-search-results{
  display:block;
  padding:12px 2px max(96px, calc(72px + env(safe-area-inset-bottom)));
}
.drawer-panel.is-sidebar-searching .drawer-search-results[hidden]{
  display:none !important;
}
.drawer-footer-links{
  width:100%;
  box-sizing:border-box;
  margin:18px 0 0;
  border-top:1px solid rgba(17,24,39,.08);
  background:var(--card, #fff);
  position:static !important;
  clear:both;
}
.drawer-search-hideable > .drawer-footer-links{
  flex:0 0 auto;
}
.drawer-panel.is-sidebar-searching .drawer-footer-links{
  display:none !important;
}
.drawer-panel--desktop .drawer-search-section{
  top:0;
}
:root[data-theme="dark"] .drawer-search-section,
:root[data-theme="dark"] .drawer-footer-links{
  background:var(--card, #111827);
  border-color:rgba(255,255,255,.10);
  box-shadow:none;
}


/* Sidebar live search hard fix: works even when cached JS is replaced late. */
.drawer-panel[data-sidebar-search-active="1"] .drawer-search-hideable,
.drawer-panel:has(.drawer-search-input:not(:placeholder-shown)) .drawer-search-hideable{
  display:none !important;
}
.drawer-panel[data-sidebar-search-active="1"] .drawer-search-results,
.drawer-panel:has(.drawer-search-input:not(:placeholder-shown)) .drawer-search-results{
  display:block !important;
  padding:12px 2px max(96px, calc(72px + env(safe-area-inset-bottom))) !important;
}
.drawer-panel[data-sidebar-search-active="1"] .drawer-search-results[hidden],
.drawer-panel:has(.drawer-search-input:not(:placeholder-shown)) .drawer-search-results[hidden]{
  display:block !important;
}
.drawer-search-hideable[hidden]{
  display:none !important;
}
.drawer-search-results:empty::before{
  content:'Searching...';
  display:block;
  padding:14px 8px;
  color:#6b7280;
  font-size:14px;
  font-weight:700;
}
.drawer-search-hideable .drawer-footer-links{
  order:999;
  margin-top:26px !important;
}
.drawer-search-hideable .drawer-account-bottom{
  order:998;
}

/* Sidebar footer visibility fix: keep legal/footer links visible without scroll-hold on mobile drawers. */
@media (max-width: 1023px){
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop){
    padding-bottom:0 !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-search-hideable{
    padding-bottom:max(150px, calc(132px + env(safe-area-inset-bottom))) !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-footer-links{
    position:fixed !important;
    left:0 !important;
    right:auto !important;
    bottom:max(72px, calc(68px + env(safe-area-inset-bottom))) !important;
    width:min(84vw, 360px) !important;
    max-width:min(84vw, 360px) !important;
    z-index:40 !important;
    margin:0 !important;
    padding:14px 8px !important;
    border-top:1px solid rgba(17,24,39,.08) !important;
    border-bottom:1px solid rgba(17,24,39,.05) !important;
    background:rgba(255,255,255,.96) !important;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    box-shadow:0 -10px 26px rgba(255,255,255,.92) !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop).is-sidebar-searching .drawer-footer-links,
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop)[data-sidebar-search-active="1"] .drawer-footer-links{
    display:none !important;
  }
  :root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-footer-links{
    background:rgba(17,24,39,.96) !important;
    border-color:rgba(255,255,255,.10) !important;
    box-shadow:0 -10px 26px rgba(0,0,0,.26) !important;
  }
}


/* Sidebar footer no-overlap fix: footer is outside the scroll body and never covers content. */
@media (max-width: 1023px){
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop){
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    padding-bottom:0 !important;
    bottom:max(72px, calc(68px + env(safe-area-inset-bottom))) !important;
    max-height:none !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-head,
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-search-section{
    flex:0 0 auto !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-search-hideable{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:18px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-footer-links{
    position:static !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:none !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    margin:0 !important;
    padding:13px 8px max(13px, env(safe-area-inset-bottom)) !important;
    border-top:1px solid rgba(17,24,39,.08) !important;
    border-bottom:0 !important;
    background:rgba(255,255,255,.98) !important;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    box-shadow:0 -8px 22px rgba(17,24,39,.05) !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop).is-sidebar-searching .drawer-footer-links,
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop)[data-sidebar-search-active="1"] .drawer-footer-links{
    display:none !important;
  }
  :root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-footer-links{
    background:rgba(17,24,39,.98) !important;
    border-color:rgba(255,255,255,.10) !important;
    box-shadow:0 -8px 22px rgba(0,0,0,.24) !important;
  }
}


/* Sidebar bottom gap fix: extend the mobile drawer behind the bottom tab bar so no grey strip is visible. */
@media (max-width: 1023px){
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop){
    bottom:0 !important;
    background:var(--card, #fff) !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-search-hideable{
    padding-bottom:18px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-footer-links{
    padding-top:13px !important;
    padding-bottom:max(90px, calc(82px + env(safe-area-inset-bottom))) !important;
    margin-bottom:0 !important;
    background:var(--card, #fff) !important;
    box-shadow:none !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop).is-sidebar-searching .drawer-footer-links,
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop)[data-sidebar-search-active="1"] .drawer-footer-links{
    display:none !important;
  }
  :root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop){
    background:var(--card, #111827) !important;
  }
  :root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-footer-links{
    background:var(--card, #111827) !important;
    box-shadow:none !important;
  }
}

/* Category page related suggestions: always visible independent of the Channel feature. */
.category-suggestions-minimal{
  margin-top:18px;
  padding:0 var(--edgePad, 14px) 4px;
  box-sizing:border-box;
  background:transparent;
  border:0;
  box-shadow:none;
}
.category-suggestions-title{
  margin:0 0 8px;
  color:var(--muted,#6b7280);
  font-size:13px;
  font-weight:650;
  line-height:1.3;
}
.category-suggestions-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  column-gap:18px;
  row-gap:8px;
}
.category-suggestion-link{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--theme-primary,var(--brand,#ff6600));
  font-size:15px;
  font-weight:750;
  line-height:1.35;
  text-decoration:none;
  white-space:nowrap;
}
.category-suggestion-link:hover,
.category-suggestion-link:focus-visible{
  background:transparent;
  color:var(--theme-primary,var(--brand,#ff6600));
  text-decoration:underline;
  text-underline-offset:3px;
  outline:0;
}
.category-suggestion-link.is-current{
  color:var(--text,#111);
  font-weight:850;
}
.category-suggestions-hint{
  margin-top:8px;
  color:var(--muted,#6b7280);
  font-size:12px;
  line-height:1.35;
}
:root[data-theme="dark"] .category-suggestion-link.is-current{
  color:var(--text,#f8fafc);
}
@media (max-width:700px){
  .category-suggestions-minimal{margin-top:16px;padding-left:var(--edgePad, 10px);padding-right:var(--edgePad, 10px);}
  .category-suggestions-links{column-gap:15px;row-gap:7px;}
  .category-suggestion-link{font-size:14.5px;min-height:22px;}
}

/* Category page channel strip: compact horizontal placement above the category title. */
.category-channel-strip{
  margin:0;
  padding:14px var(--edgePad, 14px) 12px;
  border-bottom:1px solid var(--border, rgba(17,24,39,.08));
  background:var(--card, #fff);
  box-sizing:border-box;
}
.category-channel-strip-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 10px;
}
.category-channel-strip-head h2{
  margin:0;
  color:var(--theme-title, var(--text, #111827));
  font-size:20px;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1.1;
}
.category-channel-strip-scroller{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  padding:0 0 3px;
  margin:0 calc(var(--edgePad, 14px) * -1);
  padding-left:var(--edgePad, 14px);
  padding-right:var(--edgePad, 14px);
}
.category-channel-strip-scroller::-webkit-scrollbar{display:none}
.category-channel-strip-card{
  flex:0 0 min(340px, calc(100vw - (var(--edgePad, 14px) * 2)));
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:12px;
  border:1px solid var(--border, rgba(17,24,39,.10));
  border-radius:18px;
  background:var(--card, #fff);
  color:var(--text, #111827);
  text-decoration:none;
  box-shadow:0 8px 20px rgba(17,24,39,.04);
  scroll-snap-align:start;
}
.category-channel-strip-card:active{transform:scale(.992)}
.category-channel-strip-card:hover,.category-channel-strip-card:focus-visible{
  border-color:color-mix(in srgb, var(--theme-primary, var(--brand, #ff6600)) 34%, var(--border, rgba(17,24,39,.10)));
  outline:0;
}
.category-channel-strip-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:16px;
  object-fit:cover;
  background:#f3f4f6;
}
.category-channel-strip-icon.placeholder{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#6b7280;
  font-size:20px;
  font-weight:900;
}
.category-channel-strip-body{
  display:flex;
  flex-direction:column;
  min-width:0;
  flex:1 1 auto;
}
.category-channel-strip-title{
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
  white-space:nowrap;
}
.category-channel-strip-title strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--theme-title, var(--text, #111827));
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
}
.category-channel-strip-title em{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--muted, #6b7280);
  font-size:14px;
  font-style:normal;
  font-weight:800;
}
.category-channel-strip-desc{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin-top:4px;
  color:var(--text, #111827);
  font-size:14px;
  line-height:1.25;
}
.category-channel-strip-meta{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin-top:7px;
  color:var(--muted, #6b7280);
  font-size:13px;
  font-weight:750;
  line-height:1.2;
}
:root[data-theme="dark"] .category-channel-strip{
  background:var(--bg, #0b1220);
  border-color:rgba(255,255,255,.08);
}
:root[data-theme="dark"] .category-channel-strip-card{
  background:var(--card, #111827);
  border-color:rgba(255,255,255,.10);
  box-shadow:none;
}
:root[data-theme="dark"] .category-channel-strip-icon{background:rgba(255,255,255,.08)}
:root[data-theme="dark"] .category-channel-strip-icon.placeholder{color:rgba(238,244,251,.86)}
@media (max-width:700px){
  .category-channel-strip{padding-top:12px;padding-bottom:12px;}
  .category-channel-strip-head h2{font-size:19px;}
  .category-channel-strip-card{flex-basis:min(320px, calc(100vw - (var(--edgePad, 10px) * 2)));padding:11px;border-radius:17px;}
  .category-channel-strip-icon{width:50px;height:50px;flex-basis:50px;border-radius:15px;}
  .category-channel-strip-title strong{font-size:15.5px;}
  .category-channel-strip-title em{font-size:13.5px;}
  .category-channel-strip-desc{font-size:13.5px;}
}

/* Drawer guest account placement: install stays above, login/signup/language move to the lower drawer area, legal links stay underneath. */
.drawer-account-bottom--guest .drawer-install__btn{
  margin-bottom:18px;
}
.drawer-guest-auth-panel{
  width:100%;
  box-sizing:border-box;
}
.drawer-account-bottom--guest .drawer-auth-actions{
  padding:0 0 12px;
}
.drawer-account-bottom--guest .drawer-guest-language{
  padding:0;
}
.drawer-account-bottom--guest + .drawer-footer-links,
.drawer-search-hideable + .drawer-footer-links{
  margin-top:0;
}
@media (max-width:1023px){
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop):not(.is-sidebar-searching):not([data-sidebar-search-active="1"]) .drawer-search-hideable:not([hidden]):not(.is-sidebar-search-hidden){
    display:flex !important;
    flex-direction:column !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-account-bottom--guest{
    margin-top:auto !important;
    padding-top:22px !important;
    padding-bottom:10px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-account-bottom--guest .drawer-install__btn{
    margin-bottom:20px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-account-bottom--guest .drawer-auth-actions{
    padding-bottom:12px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-account-bottom--guest .drawer-guest-language{
    padding-top:0 !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-footer-links{
    padding-top:10px !important;
    padding-bottom:max(86px, calc(78px + env(safe-area-inset-bottom))) !important;
  }
}

/* Drawer guest fixed bottom controls: login/signup/language must live in the non-scroll footer area. */
.drawer-fixed-footer{
  flex:0 0 auto;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:0 10px max(18px, env(safe-area-inset-bottom));
  border-top:1px solid rgba(17,24,39,.08);
  background:var(--card,#fff);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 -8px 22px rgba(17,24,39,.05);
}
.drawer-fixed-footer .drawer-guest-auth-panel{
  width:100%;
  box-sizing:border-box;
  padding:12px 0 0;
}
.drawer-fixed-footer .drawer-auth-actions{
  padding:0 0 10px !important;
}
.drawer-fixed-footer .drawer-guest-language{
  padding:0 0 10px !important;
}
.drawer-fixed-footer .drawer-footer-links{
  position:static !important;
  display:flex !important;
  flex:0 0 auto !important;
  width:100% !important;
  max-width:none !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  z-index:auto !important;
  margin:0 !important;
  padding:7px 8px 0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.drawer-account-bottom--guest{
  margin-top:20px !important;
  padding-top:14px !important;
  padding-bottom:8px !important;
}
.drawer-account-bottom--guest .drawer-install__btn{
  margin-bottom:0 !important;
}
.drawer-panel.is-sidebar-searching .drawer-fixed-footer,
.drawer-panel[data-sidebar-search-active="1"] .drawer-fixed-footer{
  display:none !important;
}
.drawer-panel--desktop .drawer-fixed-footer{
  padding-bottom:16px;
}
:root[data-theme="dark"] .drawer-fixed-footer{
  background:var(--card,#111827);
  border-color:rgba(255,255,255,.10);
  box-shadow:0 -8px 22px rgba(0,0,0,.24);
}
@media (max-width:1023px){
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop){
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    padding-bottom:0 !important;
    bottom:0 !important;
    max-height:none !important;
    background:var(--card,#fff) !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-head,
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-search-section{
    flex:0 0 auto !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-search-hideable{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:14px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop):not(.is-sidebar-searching):not([data-sidebar-search-active="1"]) .drawer-search-hideable:not([hidden]):not(.is-sidebar-search-hidden){
    display:block !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-account-bottom--guest{
    margin-top:20px !important;
    padding-top:14px !important;
    padding-bottom:8px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-account-bottom--guest .drawer-install__btn{
    margin-bottom:0 !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer{
    flex:0 0 auto !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:12px 10px max(88px, calc(80px + env(safe-area-inset-bottom))) !important;
    border-top:1px solid rgba(17,24,39,.08) !important;
    background:var(--card,#fff) !important;
    box-shadow:none !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-guest-auth-panel{
    padding:0 !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-auth-actions{
    padding:0 0 10px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-guest-language{
    padding:0 0 10px !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-footer-links{
    position:static !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:none !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    margin:0 !important;
    padding:7px 8px 0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop).is-sidebar-searching .drawer-fixed-footer,
  .drawer.is-open .drawer-panel:not(.drawer-panel--desktop)[data-sidebar-search-active="1"] .drawer-fixed-footer{
    display:none !important;
  }
  :root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop),
  :root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer{
    background:var(--card,#111827) !important;
  }
  :root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer{
    border-color:rgba(255,255,255,.10) !important;
    box-shadow:none !important;
  }
}

/* Final mobile guest drawer/auth language cleanup: compact fixed footer and borderless language selectors. */
.drawer-fixed-footer,
.drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer{
  padding:10px 10px max(10px, env(safe-area-inset-bottom)) !important;
  border-top:1px solid rgba(17,24,39,.06) !important;
  box-shadow:none !important;
}
.drawer-fixed-footer .drawer-guest-auth-panel,
.drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-guest-auth-panel{
  padding:0 !important;
}
.drawer-fixed-footer .drawer-auth-actions,
.drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-auth-actions{
  padding:0 0 8px !important;
}
.drawer-fixed-footer .drawer-guest-language,
.drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-guest-language{
  padding:0 0 8px !important;
}
.drawer-fixed-footer .drawer-footer-links,
.drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer .drawer-footer-links{
  padding:4px 8px 0 !important;
  margin:0 !important;
}
.drawer-language-pill,
.auth-language-pill,
.auth-choice-modal__language-pill,
.register-language-pill{
  min-height:34px !important;
  padding:0 2px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.drawer-language-pill:focus-within,
.auth-language-pill:focus-within,
.auth-choice-modal__language-pill:focus-within,
.register-language-pill:focus-within{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.drawer-language-pill select,
.auth-language-pill select,
.auth-choice-modal__language-pill select,
.register-language-pill select{
  height:34px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 2px !important;
}
.drawer-language-pill__label{
  color:var(--muted,#6b7280) !important;
}
:root[data-theme="dark"] .drawer-fixed-footer,
:root[data-theme="dark"] .drawer.is-open .drawer-panel:not(.drawer-panel--desktop) .drawer-fixed-footer{
  border-color:rgba(255,255,255,.08) !important;
  box-shadow:none !important;
}
:root[data-theme="dark"] .drawer-language-pill,
:root[data-theme="dark"] .auth-language-pill,
:root[data-theme="dark"] .auth-choice-modal__language-pill,
:root[data-theme="dark"] .register-language-pill{
  background:transparent !important;
  border:0 !important;
  color:inherit !important;
}


/* Quick guide page and sidebar entry */
.drawer-guide-link{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  padding:11px 10px;
  margin:0 0 10px;
  color:inherit;
  text-decoration:none;
  border-radius:14px;
  background:transparent;
}
.drawer-guide-link:hover,
.drawer-guide-link:focus-visible{
  background:rgba(17,24,39,.04);
  outline:0;
}
.drawer-guide-link__icon{
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:16px;
  color:var(--brand,#ff6600);
  background:rgba(255,102,0,.08);
}
.drawer-guide-link__copy{min-width:0;display:flex;flex-direction:column;gap:2px;}
.drawer-guide-link__title{font-weight:850;font-size:16px;line-height:1.15;color:var(--text,#111827);}
.drawer-guide-link__sub{font-weight:650;font-size:12px;line-height:1.25;color:var(--muted,#6b7280);}
.drawer-account-bottom--guest .drawer-guide-link{margin-bottom:12px;}

.guide-page{
  max-width:860px;
  margin:0 auto;
  padding:18px var(--edgePad,16px) 92px;
}
.guide-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 0 18px;
  border-bottom:1px solid rgba(17,24,39,.08);
}
.guide-kicker{
  color:var(--muted,#6b7280);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:850;
  font-size:12px;
  margin-bottom:8px;
}
.guide-hero h1{
  margin:0;
  color:var(--text,#111827);
  font-size:clamp(30px,6vw,48px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.guide-hero p{
  margin:12px 0 0;
  max-width:640px;
  color:var(--muted,#6b7280);
  font-weight:600;
  font-size:17px;
  line-height:1.45;
}
.guide-translate{
  flex:0 0 230px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  padding-top:4px;
}
.guide-translate__label{
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.guide-language-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:var(--text,#111827);
  font-weight:850;
}
.guide-language-pill__icon{font-size:20px;line-height:1;}
.guide-language-pill select{
  height:36px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:inherit;
  font:inherit;
  font-weight:850;
  padding:0 2px;
  outline:0;
}
.guide-translate small{
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:600;
  line-height:1.35;
}
.guide-steps{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:18px;
}
.guide-step{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:14px 0;
  border-bottom:1px solid rgba(17,24,39,.06);
}
.guide-step__num{
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,102,0,.10);
  color:var(--brand,#ff6600);
  font-weight:900;
}
.guide-step h2{
  margin:0 0 5px;
  color:var(--text,#111827);
  font-size:18px;
  line-height:1.2;
}
.guide-step p{
  margin:0;
  color:var(--muted,#6b7280);
  font-size:15px;
  line-height:1.5;
  font-weight:600;
}
.guide-tip{
  margin-top:18px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,102,0,.08);
  color:var(--text,#111827);
}
.guide-tip strong{display:block;margin-bottom:4px;font-size:15px;}
.guide-tip p{margin:0;color:var(--muted,#6b7280);font-weight:650;line-height:1.45;}
@media (max-width:700px){
  .guide-page{padding-top:12px;}
  .guide-hero{flex-direction:column;gap:14px;padding-top:16px;}
  .guide-translate{flex:0 0 auto;width:100%;}
}
:root[data-theme="dark"] .drawer-guide-link:hover,
:root[data-theme="dark"] .drawer-guide-link:focus-visible{background:rgba(255,255,255,.06);}
:root[data-theme="dark"] .drawer-guide-link__title,
:root[data-theme="dark"] .guide-hero h1,
:root[data-theme="dark"] .guide-step h2,
:root[data-theme="dark"] .guide-language-pill,
:root[data-theme="dark"] .guide-tip{color:var(--text,#f8fafc);}
:root[data-theme="dark"] .guide-hero,
:root[data-theme="dark"] .guide-step{border-color:rgba(255,255,255,.08);}
:root[data-theme="dark"] .guide-tip{background:rgba(255,102,0,.12);}

/* 2026-05-15: ensure feed load-more remains tappable above mobile chrome */
[data-infinite="posts"] [data-load-more]{
  position:relative;
  z-index:25;
  pointer-events:auto !important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* 2026-05-15: auto infinite scroll hides manual load-more button after JS initialized */
[data-infinite="posts"][data-auto-load-ready="1"] [data-load-more]{
  display:none !important;
}
[data-infinite="posts"] .infinite-sentinel{
  min-height:1px;
}

/* ============================================================
   Title + media row feed view
   Admin-selectable compact feed layout for Explore / Following.
   Shows only the post title and a media thumbnail sized to the title height.
   ============================================================ */
body.feed-view-titlemedia .feeditem.feeditem-titlemedia{
  padding:13px var(--edgePad) 12px;
  border-bottom:1px solid #f0f2f5;
  background:transparent;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-repostbar-titlemedia{
  margin:0 0 6px;
  padding-left:0;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-shell{
  min-width:0;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-titlemedia{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 7px;
  min-width:0;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-avatarlink{
  flex:0 0 auto;
  display:block;
  line-height:0;
  text-decoration:none;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-avatar{
  width:26px;
  height:26px;
  border-radius:999px;
  object-fit:cover;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-usercol{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
  white-space:nowrap;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-right{
  flex:0 0 auto;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  min-width:0;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia.feeditem-titlemedia-nomedia .fi-titlemedia-row{
  grid-template-columns:minmax(0,1fr);
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-title{
  margin:0;
  padding:0;
  min-width:0;
  font-size:var(--fs-post-title,20px);
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.015em;
  color:var(--title, #111827);
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-titlelink{
  color:inherit;
  text-decoration:none;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb{
  --titlemedia-h: 58px;
  height:max(40px, min(var(--titlemedia-h), 170px));
  width:auto;
  aspect-ratio:1.62 / 1;
  max-width:min(42vw, 185px);
  border-radius:16px;
  overflow:hidden;
  position:relative;
  display:block;
  background:#eef1f5;
  align-self:start;
  justify-self:end;
  text-decoration:none;
  box-shadow:none;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb img,
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#eef1f5;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-site{
  position:absolute;
  left:7px;
  right:7px;
  bottom:7px;
  z-index:2;
  display:block;
  padding:5px 8px;
  border-radius:999px;
  font-size:10.5px;
  line-height:1.1;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg, rgba(17,17,17,.56), rgba(17,17,17,.84));
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:none;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-media-counter-titlemedia{
  top:7px;
  left:7px;
  right:auto;
  bottom:auto;
  z-index:3;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-actions{
  margin-top:9px;
  color:#aab0bb;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-ibtn{
  color:#aab0bb;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-count,
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-num{
  color:#6b7280;
  font-weight:800;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-text,
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-link,
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-link-minimal,
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .post-cats,
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-channel-row{
  display:none !important;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb .video-play-toggle{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%,-50%);
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb .video-play-toggle span{
  display:none;
}
@media (max-width:640px){
  body.feed-view-titlemedia .feeditem.feeditem-titlemedia{
    padding-top:12px;
    padding-bottom:12px;
  }
  body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-row{
    gap:10px;
  }
  body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb{
    height:max(38px, min(var(--titlemedia-h), 145px));
    max-width:min(38vw, 146px);
    border-radius:15px;
  }
  body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-title{
    font-size:var(--fs-post-title,20px);
  }
}
:root[data-theme="dark"] body.feed-view-titlemedia .feeditem.feeditem-titlemedia{
  border-bottom-color:#23252b;
}
:root[data-theme="dark"] body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-title{
  color:#f4f6fb;
}
:root[data-theme="dark"] body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb{
  background:#20232a;
}


/* 2026-05-15: profile title-media feed parity + smaller avatar */
/* Profile post tabs use the same compact Title + media row presentation as Explore/Following. */
.profile-feed--titlemedia .feeditem.feeditem-titlemedia{
  padding:13px var(--edgePad) 12px;
  border-bottom:1px solid #f0f2f5;
  background:transparent;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-repostbar-titlemedia{
  margin:0 0 6px;
  padding-left:0;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-shell{
  min-width:0;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-titlemedia{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 7px;
  min-width:0;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-avatarlink{
  flex:0 0 auto;
  display:block;
  line-height:0;
  text-decoration:none;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-avatar{
  width:26px;
  height:26px;
  border-radius:999px;
  object-fit:cover;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-usercol{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
  white-space:nowrap;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-right{
  flex:0 0 auto;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  min-width:0;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia.feeditem-titlemedia-nomedia .fi-titlemedia-row{
  grid-template-columns:minmax(0,1fr);
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-title{
  margin:0;
  padding:0;
  min-width:0;
  font-size:var(--fs-post-title,20px);
  line-height:1.18;
  font-weight:800;
  letter-spacing:-.015em;
  color:var(--title, #111827);
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-titlelink{
  color:inherit;
  text-decoration:none;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb{
  --titlemedia-h: 58px;
  height:max(40px, min(var(--titlemedia-h), 170px));
  width:auto;
  aspect-ratio:1.62 / 1;
  max-width:min(42vw, 185px);
  border-radius:16px;
  overflow:hidden;
  position:relative;
  display:block;
  background:#eef1f5;
  align-self:start;
  justify-self:end;
  text-decoration:none;
  box-shadow:none;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb img,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#eef1f5;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-site{
  position:absolute;
  left:7px;
  right:7px;
  bottom:7px;
  z-index:2;
  display:block;
  padding:5px 8px;
  border-radius:999px;
  font-size:10.5px;
  line-height:1.1;
  font-weight:800;
  color:#fff;
  background:linear-gradient(180deg, rgba(17,17,17,.56), rgba(17,17,17,.84));
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  pointer-events:none;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-media-counter-titlemedia{
  top:7px;
  left:7px;
  right:auto;
  bottom:auto;
  z-index:3;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-actions{
  margin-top:9px;
  color:#aab0bb;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-ibtn{
  color:#aab0bb;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-count,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-actions .fi-num{
  color:#6b7280;
  font-weight:800;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-text,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-link,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-link-minimal,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .post-cats,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-channel-row{
  display:none !important;
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb .video-play-toggle{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%,-50%);
}
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb .video-play-toggle span{
  display:none;
}
@media (max-width:640px){
  .profile-feed--titlemedia .feeditem.feeditem-titlemedia{
    padding-top:12px;
    padding-bottom:12px;
  }
  .profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-row{
    gap:10px;
  }
  .profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb{
    height:max(38px, min(var(--titlemedia-h), 145px));
    max-width:min(38vw, 146px);
    border-radius:15px;
  }
  .profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-title{
    font-size:var(--fs-post-title,20px);
  }
}
:root[data-theme="dark"] .profile-feed--titlemedia .feeditem.feeditem-titlemedia{
  border-bottom-color:#23252b;
}
:root[data-theme="dark"] .profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-title{
  color:#f4f6fb;
}
:root[data-theme="dark"] .profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-titlemedia-thumb{
  background:#20232a;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-avatar,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-avatar{
  width:20px !important;
  height:20px !important;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-titlemedia,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-titlemedia{
  gap:6px;
}

/* ============================================================
   ADMIN PANEL — Compact spacing and full-width mobile layout
   Reduces excess padding/margins across the complete admin area
   so mobile screens use the available display width more efficiently.
   ============================================================ */
body.is-admin {
  --admin-compact-edge: 18px;
  --admin-compact-gap: 12px;
  --admin-compact-radius: 16px;
}
body.is-admin .admin-full {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.is-admin .admin-main {
  padding: 20px 20px 56px !important;
}
body.is-admin .admin-page-header {
  margin-bottom: 14px !important;
}
body.is-admin .admin-page-header--enhanced {
  gap: 10px !important;
}
body.is-admin .admin-page-header__main {
  padding: 16px 18px !important;
  border-radius: 18px !important;
}
body.is-admin .admin-page-header__title-row {
  gap: 14px !important;
}
body.is-admin .admin-page-header__title {
  font-size: clamp(22px, 2.2vw, 28px) !important;
  line-height: 1.08 !important;
  margin-top: 1px !important;
}
body.is-admin .admin-page-header__desc {
  margin-top: 5px !important;
  font-size: 13.5px !important;
  line-height: 1.42 !important;
  max-width: 900px !important;
}
body.is-admin .admin-page-header__eyebrow {
  gap: 6px !important;
}
body.is-admin .admin-page-header__group {
  padding: 4px 8px !important;
  font-size: 10.5px !important;
}
body.is-admin .admin-soft-link {
  min-height: 34px !important;
  padding: 0 11px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
}
body.is-admin .admin-summary-strip {
  gap: 8px !important;
}
body.is-admin .admin-summary-tile {
  min-height: 72px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
}
body.is-admin .admin-summary-tile__label {
  margin-bottom: 5px !important;
  font-size: 10px !important;
}
body.is-admin .admin-summary-tile strong {
  font-size: 22px !important;
}
body.is-admin .admin-context-nav,
body.is-admin .admin-context-nav--catalog {
  gap: 6px !important;
  padding: 0 !important;
}
body.is-admin .admin-context-nav__item,
body.is-admin .admin-context-nav--catalog .admin-context-nav__item {
  min-height: 34px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  gap: 6px !important;
  font-size: 12px !important;
}
body.is-admin .admin-mini-badge {
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  font-size: 10px !important;
}
body.is-admin .admin-content .card {
  padding: 14px !important;
  margin-bottom: 12px !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.045) !important;
}
body.is-admin .admin-content .kicker {
  font-size: 16px !important;
  line-height: 1.16 !important;
}
body.is-admin .admin-content .h2,
body.is-admin .admin-content h2 {
  line-height: 1.12 !important;
}
body.is-admin .admin-content .muted,
body.is-admin .admin-content .small {
  line-height: 1.35 !important;
}
body.is-admin .admin-module-intro {
  margin: 0 0 12px !important;
  padding: 13px 14px !important;
  gap: 10px !important;
  border-radius: 16px !important;
}
body.is-admin .admin-module-intro__icon,
body.is-admin .admin-catalog-card__icon,
body.is-admin .admin-area-card__icon {
  width: 36px !important;
  height: 36px !important;
  border-radius: 13px !important;
}
body.is-admin .admin-module-intro__eyebrow {
  font-size: 10.5px !important;
  margin-bottom: 2px !important;
}
body.is-admin .admin-module-intro h2 {
  font-size: clamp(19px, 2vw, 24px) !important;
  line-height: 1.1 !important;
}
body.is-admin .admin-module-intro p {
  margin-top: 4px !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
}
body.is-admin .admin-area-overview {
  gap: 12px !important;
}
body.is-admin .admin-area-overview__hero {
  padding: 16px !important;
  border-radius: 16px !important;
}
body.is-admin .admin-area-overview__hero h2 {
  margin: 5px 0 4px !important;
  font-size: clamp(22px, 2.5vw, 30px) !important;
}
body.is-admin .admin-area-overview__hero p {
  line-height: 1.42 !important;
  font-size: 13.5px !important;
}
body.is-admin .admin-catalog-grid,
body.is-admin .admin-area-card-grid {
  gap: 10px !important;
}
body.is-admin .admin-catalog-card,
body.is-admin .admin-area-card,
body.is-admin .admin-priority-link {
  border-radius: 16px !important;
}
body.is-admin .admin-catalog-card {
  min-height: 88px !important;
  padding: 12px !important;
  gap: 10px !important;
}
body.is-admin .admin-catalog-card__body {
  gap: 3px !important;
}
body.is-admin .admin-catalog-card__body small,
body.is-admin .admin-area-card small,
body.is-admin .admin-priority-link small,
body.is-admin .admin-area-card em {
  line-height: 1.32 !important;
}
body.is-admin .admin-catalog-card__metric {
  min-width: 54px !important;
}
body.is-admin .admin-catalog-card__metric b {
  font-size: 20px !important;
}
body.is-admin .admin-area-card {
  min-height: 150px !important;
  padding: 12px !important;
  gap: 8px !important;
}
body.is-admin .admin-shortcut-pill {
  min-height: 32px !important;
  padding: 0 11px !important;
  font-size: 12px !important;
}
body.is-admin .admin-settings-top {
  gap: 10px !important;
  margin-bottom: 12px !important;
}
body.is-admin .admin-settings-top h2 {
  margin: 4px 0 3px !important;
  font-size: clamp(20px, 2vw, 26px) !important;
}
body.is-admin .admin-settings-top p {
  line-height: 1.35 !important;
  font-size: 13.5px !important;
}
body.is-admin .admin-settings-jump {
  gap: 6px !important;
}
body.is-admin .admin-settings-jump__item {
  min-height: 30px !important;
  padding: 5px 9px !important;
  font-size: 11.5px !important;
}
body.is-admin .admin-settings-card {
  padding: 0 !important;
}
body.is-admin .admin-settings-form {
  padding: 14px !important;
}
body.is-admin .admin-settings-group {
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
}
body.is-admin .admin-settings-group__head {
  gap: 10px !important;
  padding-bottom: 10px !important;
  margin-bottom: 10px !important;
}
body.is-admin .admin-settings-group__head p {
  margin-top: 4px !important;
  line-height: 1.35 !important;
}
body.is-admin .admin-settings-savebar {
  margin-top: 12px !important;
  padding: 10px !important;
  border-radius: 14px !important;
}
body.is-admin .admin-content label.small,
body.is-admin .admin-content .admin-label {
  margin-top: 10px !important;
  margin-bottom: 4px !important;
  font-size: 10.8px !important;
  line-height: 1.22 !important;
}
body.is-admin .admin-content .input,
body.is-admin .admin-content input[type="text"],
body.is-admin .admin-content input[type="email"],
body.is-admin .admin-content input[type="password"],
body.is-admin .admin-content input[type="number"],
body.is-admin .admin-content select,
body.is-admin .admin-content textarea {
  min-height: 38px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
}
body.is-admin .admin-content input[type="color"] {
  height: 36px !important;
  min-height: 36px !important;
  padding: 3px !important;
}
body.is-admin .admin-theme-color-grid {
  gap: 8px !important;
  margin-bottom: 10px !important;
}
body.is-admin .admin-content .btn {
  min-height: 36px !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
}
body.is-admin .admin-content .stats {
  gap: 8px !important;
  margin-top: 10px !important;
}
body.is-admin .admin-content .stat {
  padding: 10px !important;
  border-radius: 12px !important;
}
body.is-admin .admin-content .stat .n {
  font-size: 20px !important;
}
body.is-admin .admin-content table {
  font-size: 13px !important;
  border-radius: 12px !important;
}
body.is-admin .admin-content table th {
  padding: 8px 10px !important;
}
body.is-admin .admin-content table td {
  padding: 9px 10px !important;
}
body.is-admin .admin-dashboard-hero {
  gap: 12px !important;
  margin-bottom: 12px !important;
}
body.is-admin .admin-dashboard-hero__panel,
body.is-admin .admin-dashboard-hero__aside-card {
  border-radius: 18px !important;
}
body.is-admin .admin-dashboard-hero__panel,
body.is-admin .admin-dashboard-hero__aside-card {
  padding: 16px !important;
}
body.is-admin .admin-dashboard-hero__title {
  margin-top: 10px !important;
  font-size: clamp(22px, 2.4vw, 28px) !important;
}
body.is-admin .admin-dashboard-hero__desc {
  margin-top: 8px !important;
  line-height: 1.45 !important;
}
body.is-admin .admin-dashboard-hero__metrics {
  gap: 8px !important;
  margin-top: 12px !important;
}
body.is-admin .admin-dashboard-hero__metric {
  padding: 11px !important;
  border-radius: 14px !important;
}
body.is-admin .admin-dashboard-hero__metric strong {
  margin-top: 7px !important;
  font-size: 24px !important;
}
body.is-admin .admin-quick-grid {
  gap: 8px !important;
  margin-top: 10px !important;
}
body.is-admin .admin-quick-grid a {
  padding: 12px !important;
  border-radius: 13px !important;
}
body.is-admin .admin-section-grid,
body.is-admin .admin-panel-stack {
  gap: 12px !important;
}
body.is-admin .admin-note-card {
  padding: 12px !important;
  border-radius: 14px !important;
}
body.is-admin .admin-priority-list {
  gap: 7px !important;
  margin-top: 10px !important;
}
body.is-admin .admin-priority-link {
  padding: 10px 11px !important;
}
body.is-admin .admin-health-list {
  gap: 8px !important;
  margin-top: 10px !important;
}
body.is-admin .admin-health-item {
  padding: 11px 12px !important;
  border-radius: 13px !important;
}
body.is-admin .admin-health-item__value {
  font-size: 22px !important;
}
body.is-admin .admin-sidebar {
  width: 244px !important;
}
body.is-admin .admin-sidebar__header {
  padding: 14px 14px 12px !important;
}
body.is-admin .admin-sidebar__sub {
  margin-top: 3px !important;
}
body.is-admin .admin-sidebar__status {
  margin-top: 10px !important;
  padding: 10px !important;
  border-radius: 14px !important;
}
body.is-admin .admin-sidebar__status-grid {
  gap: 8px !important;
  margin-top: 10px !important;
}
body.is-admin .admin-sidebar__status-grid strong {
  font-size: 17px !important;
}
body.is-admin .admin-nav {
  padding: 8px 0 !important;
}
body.is-admin .admin-nav__group {
  margin: 0 8px 8px !important;
}
body.is-admin .admin-nav__group-label {
  padding: 8px 12px 4px !important;
}
body.is-admin .admin-nav__item,
body.is-admin .admin-shell--catalog .admin-nav--areas .admin-nav__item {
  min-height: 38px !important;
  margin: 2px 6px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  font-size: 12.8px !important;
}
body.is-admin .admin-sidebar__footer {
  padding: 10px 8px 12px !important;
}
body.is-admin .admin-sidebar__footer-link {
  padding: 7px 10px !important;
}

@media (min-width: 1280px) {
  body.is-admin .admin-main {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  body.is-admin .admin-catalog-grid,
  body.is-admin .admin-area-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 899px) {
  body.is-admin {
    --admin-compact-edge: 6px;
    --admin-compact-gap: 8px;
    --admin-compact-radius: 13px;
  }
  body.is-admin .admin-mobile-bar {
    height: 50px !important;
    padding: 0 8px !important;
    gap: 9px !important;
  }
  body.is-admin .admin-hamburger {
    padding: 4px !important;
    gap: 4px !important;
  }
  body.is-admin .admin-hamburger span {
    width: 20px !important;
  }
  body.is-admin .admin-mobile-title {
    font-size: 14px !important;
  }
  body.is-admin .admin-main {
    padding: 58px 6px 66px !important;
  }
  body.is-admin .admin-page-header {
    margin-bottom: 8px !important;
  }
  body.is-admin .admin-page-header--enhanced {
    gap: 7px !important;
  }
  body.is-admin .admin-page-header__main {
    padding: 11px 12px !important;
    border-radius: 13px !important;
  }
  body.is-admin .admin-page-header__title-row {
    gap: 7px !important;
  }
  body.is-admin .admin-page-header__title {
    font-size: 21px !important;
  }
  body.is-admin .admin-page-header__desc {
    margin-top: 4px !important;
    font-size: 12.8px !important;
    line-height: 1.35 !important;
  }
  body.is-admin .admin-page-header__actions,
  body.is-admin .admin-page-header__microcopy,
  body.is-admin .admin-summary-strip {
    display: none !important;
  }
  body.is-admin .admin-page-header__group {
    display: none !important;
  }
  body.is-admin .admin-context-nav,
  body.is-admin .admin-context-nav--catalog {
    margin-left: -2px !important;
    margin-right: -2px !important;
    padding: 0 2px 2px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  body.is-admin .admin-context-nav::-webkit-scrollbar,
  body.is-admin .admin-context-nav--catalog::-webkit-scrollbar {
    display: none;
  }
  body.is-admin .admin-context-nav__item,
  body.is-admin .admin-context-nav--catalog .admin-context-nav__item {
    min-height: 31px !important;
    padding: 0 9px !important;
    font-size: 11.5px !important;
    white-space: nowrap !important;
  }
  body.is-admin .admin-content .card {
    padding: 10px !important;
    margin-bottom: 8px !important;
    border-radius: 13px !important;
  }
  body.is-admin .admin-module-intro {
    padding: 10px !important;
    margin-bottom: 8px !important;
    border-radius: 13px !important;
    gap: 8px !important;
  }
  body.is-admin .admin-module-intro__icon,
  body.is-admin .admin-catalog-card__icon,
  body.is-admin .admin-area-card__icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 11px !important;
  }
  body.is-admin .admin-module-intro h2 {
    font-size: 19px !important;
  }
  body.is-admin .admin-module-intro p {
    font-size: 12.6px !important;
    line-height: 1.32 !important;
  }
  body.is-admin .admin-area-overview {
    gap: 8px !important;
  }
  body.is-admin .admin-area-overview__hero {
    padding: 12px !important;
    border-radius: 13px !important;
  }
  body.is-admin .admin-catalog-grid,
  body.is-admin .admin-area-card-grid {
    gap: 8px !important;
    grid-template-columns: 1fr !important;
  }
  body.is-admin .admin-catalog-card {
    min-height: 0 !important;
    padding: 10px !important;
    gap: 8px !important;
    border-radius: 13px !important;
  }
  body.is-admin .admin-settings-top {
    gap: 7px !important;
    margin-bottom: 8px !important;
  }
  body.is-admin .admin-settings-top h2 {
    font-size: 20px !important;
    margin: 3px 0 2px !important;
  }
  body.is-admin .admin-settings-top p {
    font-size: 12.8px !important;
    line-height: 1.32 !important;
  }
  body.is-admin .admin-settings-jump {
    gap: 5px !important;
  }
  body.is-admin .admin-settings-jump__item {
    min-height: 28px !important;
    padding: 4px 8px !important;
    font-size: 10.8px !important;
  }
  body.is-admin .admin-settings-form {
    padding: 10px !important;
  }
  body.is-admin .admin-settings-group {
    padding-bottom: 11px !important;
    margin-bottom: 11px !important;
  }
  body.is-admin .admin-settings-group__head {
    padding-bottom: 8px !important;
    margin-bottom: 8px !important;
  }
  body.is-admin .admin-content label.small,
  body.is-admin .admin-content .admin-label {
    margin-top: 8px !important;
    font-size: 10.5px !important;
  }
  body.is-admin .admin-content .input,
  body.is-admin .admin-content input[type="text"],
  body.is-admin .admin-content input[type="email"],
  body.is-admin .admin-content input[type="password"],
  body.is-admin .admin-content input[type="number"],
  body.is-admin .admin-content select,
  body.is-admin .admin-content textarea {
    min-height: 36px !important;
    padding: 7px 9px !important;
    font-size: 13px !important;
  }
  body.is-admin .admin-content input[type="color"] {
    height: 34px !important;
    min-height: 34px !important;
  }
  body.is-admin .admin-content .btn {
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
  }
  body.is-admin .admin-theme-color-grid {
    gap: 7px !important;
  }
  body.is-admin .admin-content .stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  body.is-admin .admin-content .stat {
    padding: 8px !important;
  }
  body.is-admin .admin-content table th {
    padding: 7px 8px !important;
  }
  body.is-admin .admin-content table td {
    padding: 8px !important;
  }
  body.is-admin .admin-sidebar {
    width: min(82vw, 270px) !important;
  }
}

@media (max-width: 560px) {
  body.is-admin .admin-main {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  body.is-admin .admin-theme-color-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.is-admin .admin-content .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.is-admin .admin-dashboard-hero__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.is-admin .admin-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.is-admin .admin-catalog-card {
    grid-template-columns: 32px minmax(0, 1fr) !important;
  }
  body.is-admin .admin-catalog-card__metric {
    grid-column: 2 !important;
    min-width: 0 !important;
  }
}


/* GNU Unifont / pixel font preset tuning */
body.font-unifont-pixel{
  -webkit-font-smoothing:none;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}
body.font-unifont-pixel .post-title,
body.font-unifont-pixel .fi-title,
body.font-unifont-pixel .preview-title,
body.font-unifont-pixel .urlpv-title,
body.font-unifont-pixel .fi-link-title,
body.font-unifont-pixel .topbar-brand{
  text-transform:none;
}
body.font-unifont-pixel button,
body.font-unifont-pixel .btn,
body.font-unifont-pixel .chip,
body.font-unifont-pixel .tab,
body.font-unifont-pixel .pill,
body.font-unifont-pixel .admin-nav__item,
body.font-unifont-pixel .admin-context-nav__item{
  letter-spacing:.02em;
}

/* Single legal consent checkbox: one clean row that lists all required admin pages. */

/* Single legal consent checkbox: one clean row that lists all required admin pages. */
.auth-consent-single.landing-required-box,
.auth-consent-single.register-required-simple{
  margin:4px 0 2px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  display:block!important;
  box-shadow:none!important;
}
.auth-consent-single .auth-consent-single__row{
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  margin:0!important;
  padding:0!important;
  color:color-mix(in srgb,var(--theme-text,#111827) 86%,#fff)!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:0!important;
}
.auth-consent-single .auth-consent-single__row input[type="checkbox"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:21px!important;
  height:21px!important;
  min-width:21px!important;
  margin:0!important;
  border:1.6px solid color-mix(in srgb,var(--theme-text,#111827) 30%,#fff)!important;
  border-radius:7px!important;
  background:var(--theme-page-bg,#fff)!important;
  display:inline-grid!important;
  place-content:center!important;
  box-shadow:none!important;
  flex:0 0 auto!important;
}
.auth-consent-single .auth-consent-single__row input[type="checkbox"]:checked{
  background:var(--theme-button-bg,#111827)!important;
  border-color:var(--theme-button-bg,#111827)!important;
}
.auth-consent-single .auth-consent-single__row input[type="checkbox"]:checked::after{
  content:"";
  width:5px;
  height:9px;
  border:solid var(--theme-button-text,#fff);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  margin-top:-1px;
}
.auth-consent-single .auth-consent-single__row span{
  display:inline!important;
  min-width:0!important;
}
.auth-consent-single .auth-consent-single__row a{
  color:inherit!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:2px!important;
}
.auth-consent-single .auth-consent-separator{
  color:color-mix(in srgb,var(--theme-text,#111827) 38%,#fff)!important;
  font-weight:600!important;
  text-decoration:none!important;
}


/* === 2026-05-16: add breathing room below profile cover before visitor/admin actions === */
body .p2.p2-user-profile-clean .p2-actions-minimal{
  padding-top:16px !important;
  padding-bottom:10px !important;
}
body .p2.p2-user-profile-clean.p2-has-cover .p2-actions-minimal{
  padding-top:18px !important;
}
@media (max-width:520px){
  body .p2.p2-user-profile-clean .p2-actions-minimal{
    padding-top:14px !important;
    padding-bottom:10px !important;
  }
  body .p2.p2-user-profile-clean.p2-has-cover .p2-actions-minimal{
    padding-top:16px !important;
  }
}

/* === Channels level-lock button + empty-state spacing === */
.channels-page .channels-create-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.1;
}
.channels-page .channels-create-btn--locked{
  cursor:not-allowed;
  pointer-events:none;
  color:#8b95a1 !important;
  background:#eef0f3 !important;
  border-color:#eef0f3 !important;
  box-shadow:none !important;
}
.channels-page .channels-level-warning{
  display:block;
  margin:14px auto 0;
  padding:0 var(--edgePad);
  max-width:680px;
  box-sizing:border-box;
  text-align:center;
  font-size:15px;
  font-weight:800;
  line-height:1.35;
}
.channels-page .channels-empty-message{
  margin:16px 0 0;
  padding-left:var(--edgePad);
  padding-right:var(--edgePad);
  box-sizing:border-box;
}
@media (max-width:520px){
  .channels-page .channels-head{
    flex-wrap:nowrap;
  }
  .channels-page .channels-create-btn{
    max-width:58vw;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
:root[data-theme="dark"] .channels-page .channels-create-btn--locked{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.10) !important;
  color:rgba(235,241,248,.70) !important;
}

/* === Channel create locked state hard fix === */
.channels-page.channels-create-is-locked .channels-head .channels-create-btn,
.channels-page .channels-create-btn.channels-create-btn--locked,
.channels-page .channels-create-btn[disabled],
.channels-page button.channels-create-btn--locked[disabled]{
  background:#e5e7eb !important;
  background-color:#e5e7eb !important;
  background-image:none !important;
  border-color:#d1d5db !important;
  color:#8b95a1 !important;
  -webkit-text-fill-color:#8b95a1 !important;
  box-shadow:none !important;
  opacity:1 !important;
  filter:grayscale(1) !important;
  cursor:not-allowed !important;
  pointer-events:none !important;
  text-decoration:none !important;
}
.channels-page button.channels-create-btn--locked[disabled]{
  -webkit-appearance:none !important;
  appearance:none !important;
}
:root[data-theme="dark"] .channels-page.channels-create-is-locked .channels-head .channels-create-btn,
:root[data-theme="dark"] .channels-page .channels-create-btn.channels-create-btn--locked,
:root[data-theme="dark"] .channels-page .channels-create-btn[disabled],
:root[data-theme="dark"] .channels-page button.channels-create-btn--locked[disabled]{
  background:rgba(255,255,255,.08) !important;
  background-color:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:rgba(235,241,248,.62) !important;
  -webkit-text-fill-color:rgba(235,241,248,.62) !important;
}

/* Performance: let the browser skip off-screen feed card layout/paint. */
@supports (content-visibility: auto) {
  #post-list > .feeditem,
  #post-list > .gallery-tile {
    content-visibility: auto;
    contain-intrinsic-size: 720px;
  }
  body.is-post #post-list > .feeditem {
    content-visibility: visible;
    contain-intrinsic-size: auto;
  }
}


/* === 2026-05-16: optional full-width single post content ===
   Admin Panel -> Layout Settings -> Single post media -> Use full single-post card width.
   Keeps feed cards unchanged. On the detail page, the author avatar becomes compact
   and the post body/media/actions span the full card width like the comments below. */
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-shell{
  display:grid !important;
  grid-template-columns:36px minmax(0,1fr) !important;
  column-gap:10px !important;
  row-gap:0 !important;
  align-items:start !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-avatarcol{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  padding-top:0 !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-avatarlink,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-avatarlink img,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .av-post{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  border-radius:999px !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-contentcol{
  display:contents !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-head{
  grid-column:2 !important;
  grid-row:1 !important;
  min-height:36px !important;
  align-self:start !important;
  margin:0 !important;
  padding-top:1px !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-body{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  width:100% !important;
  min-width:0 !important;
  margin-top:10px !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-actions{
  grid-column:1 / -1 !important;
  grid-row:3 !important;
  width:100% !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-repostbar{
  margin-left:0 !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-main,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-title,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-text,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-text-body,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .post-cats,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-channel-row{
  width:100% !important;
  max-width:100% !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-media,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-media-grid,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-media-detail-scroll,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-link,
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-linkcompact-row{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-media.fi-media-detail-scroll{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
@media (max-width:520px){
  body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero){
    padding-left:20px !important;
    padding-right:20px !important;
  }
  body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-shell{
    grid-template-columns:34px minmax(0,1fr) !important;
    column-gap:8px !important;
  }
  body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-avatarlink,
  body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-avatarlink img,
  body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .av-post{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
  body.is-post.single-post-full-width-content .feeditem:not(.feeditem-hero) .fi-head{
    min-height:34px !important;
  }
}


/* Anonymous posting composer + anonymous author display */
.composer-anonymous{
  margin:0;
  padding:10px 0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.composer-anonymous-toggle{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:0 13px 0 11px;
  border:1px solid rgba(15,23,42,.10);
  border-radius:999px;
  background:#fff;
  color:#111827;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.composer-anonymous-toggle input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.composer-anonymous-box{
  width:18px;
  height:18px;
  border-radius:7px;
  border:2px solid #cbd5e1;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.composer-anonymous-box:after{
  content:"";
  width:8px;
  height:4px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) translateY(-1px);
  opacity:0;
}
.composer-anonymous-toggle input:checked + .composer-anonymous-box{
  border-color:var(--theme-primary,#ff5a00);
  background:var(--theme-primary,#ff5a00);
  box-shadow:0 0 0 4px rgba(255,90,0,.10);
}
.composer-anonymous-toggle input:checked + .composer-anonymous-box:after{opacity:1;}
.composer-anonymous-copy{display:inline-flex;align-items:center;line-height:1;min-width:0}
.composer-anonymous-copy strong{font-size:14px;color:var(--text,#111827);font-weight:850;letter-spacing:-.01em;white-space:nowrap}
.composer-anonymous.is-disabled{opacity:.58;}
.composer-anonymous.is-disabled .composer-anonymous-toggle{cursor:not-allowed;background:#f8fafc;color:#64748b;}
.composer-anonymous-note{margin-top:8px;font-size:13px;line-height:1.35;color:#9a3412;text-align:left}
.user-handle-link-anonymous,.user-display-name-link-anonymous{pointer-events:none;text-decoration:none;color:inherit}
.fi-avatarlink:not([href]),.fi-head-avatarlink:not([href]),.fi-hero-author:not([href]){cursor:default;pointer-events:none}
:root[data-theme="dark"] .composer-anonymous-toggle{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.11);color:#e5e7eb;}
:root[data-theme="dark"] .composer-anonymous-box{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.24);}
:root[data-theme="dark"] .composer-anonymous-copy strong{color:#e5e7eb}
:root[data-theme="dark"] .composer-anonymous.is-disabled .composer-anonymous-toggle{background:rgba(255,255,255,.035);color:#94a3b8;}
:root[data-theme="dark"] .composer-anonymous-note{color:#fdba74}

/* NSFW / sensitive content controls */
.composer-nsfw{border:1px solid rgba(245,158,11,.24);border-radius:16px;padding:12px 14px;background:rgba(245,158,11,.07);display:flex;flex-direction:column;gap:8px}
.composer-nsfw label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:var(--text,#111827)}
.composer-nsfw select{width:100%;max-width:360px;border:1px solid rgba(15,23,42,.14);border-radius:12px;padding:10px 12px;background:var(--card,#fff);color:var(--text,#111827);font:inherit;font-weight:700}
.composer-nsfw-note{font-size:13px;line-height:1.35;color:#92400e}
.fi-nsfw-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(244,63,94,.35);background:rgba(244,63,94,.10);color:#be123c;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.feeditem.is-nsfw-blurred,.gallery-tile.is-nsfw-blurred{position:relative;overflow:hidden}
.feeditem.is-nsfw-blurred .fi-media img,
.feeditem.is-nsfw-blurred .fi-media video,
.feeditem.is-nsfw-blurred .fi-media-grid img,
.feeditem.is-nsfw-blurred .fi-media-grid video,
.feeditem.is-nsfw-blurred .fi-media-detail-scroll img,
.feeditem.is-nsfw-blurred .fi-media-detail-scroll video,
.feeditem.is-nsfw-blurred .fi-titlemedia-thumb img,
.feeditem.is-nsfw-blurred .fi-titlemedia-thumb video,
.feeditem.is-nsfw-blurred .fi-minithumb img,
.feeditem.is-nsfw-blurred .fi-minithumb video,
.feeditem.is-nsfw-blurred .fi-hero-media img,
.feeditem.is-nsfw-blurred .fi-hero-media video,
.gallery-tile.is-nsfw-blurred .gallery-media img,
.gallery-tile.is-nsfw-blurred .gallery-media video{filter:blur(28px);transform:scale(1.03)}
.feeditem.is-nsfw-blurred .fi-body,.feeditem.is-nsfw-blurred .fi-titlemedia-title{filter:blur(5px);user-select:none}
.nsfw-reveal-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;border:0;border-radius:999px;background:rgba(15,23,42,.92);color:#fff;font-weight:900;padding:11px 16px;box-shadow:0 14px 32px rgba(15,23,42,.28);cursor:pointer;white-space:nowrap}
.nsfw-reveal-btn:hover{filter:brightness(1.08)}
.fi-nsfw-hidden-box,.gallery-tile-nsfw-hidden{border:1px dashed rgba(244,63,94,.35);background:rgba(244,63,94,.06);border-radius:18px;padding:18px;color:var(--muted,#64748b);display:flex;flex-direction:column;gap:6px}
.fi-nsfw-hidden-box strong,.gallery-tile-nsfw-hidden strong{color:var(--text,#111827)}
.gallery-tile-nsfw-hidden{min-height:180px;align-items:center;justify-content:center;text-align:center;text-decoration:none}
:root[data-theme="dark"] .composer-nsfw{border-color:rgba(251,191,36,.22);background:rgba(251,191,36,.08)}
:root[data-theme="dark"] .composer-nsfw select{border-color:rgba(255,255,255,.14);background:#0f172a;color:#e5e7eb}
:root[data-theme="dark"] .composer-nsfw-note{color:#fbbf24}
:root[data-theme="dark"] .fi-nsfw-badge{background:rgba(244,63,94,.16);color:#fda4af}
:root[data-theme="dark"] .fi-nsfw-hidden-box,:root[data-theme="dark"] .gallery-tile-nsfw-hidden{border-color:rgba(244,63,94,.30);background:rgba(244,63,94,.10)}
:root[data-theme="dark"] .fi-nsfw-hidden-box strong,:root[data-theme="dark"] .gallery-tile-nsfw-hidden strong{color:#f8fafc}
@media (max-width:520px){.nsfw-reveal-btn{font-size:13px;padding:10px 13px}.composer-nsfw select{max-width:100%}}
.nsfw-reveal-btn strong,.nsfw-reveal-btn span{display:block;line-height:1.15}.nsfw-reveal-btn span{font-size:12px;font-weight:700;opacity:.86;margin-top:2px;text-transform:none;letter-spacing:0}

/* === 2026-05-17: NSFW reveal touch/click hardfix === */
.feeditem.is-nsfw-blurred,
.gallery-tile.is-nsfw-blurred{
  isolation:isolate !important;
}
.nsfw-reveal-btn{
  z-index:2147483001 !important;
  pointer-events:auto !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
  -webkit-user-select:none !important;
  user-select:none !important;
}
.nsfw-reveal-btn *{
  pointer-events:none !important;
}
.feeditem.is-nsfw-blurred .fi-media,
.feeditem.is-nsfw-blurred .fi-media-grid,
.feeditem.is-nsfw-blurred .fi-media-cell,
.feeditem.is-nsfw-blurred .fi-video-open,
.feeditem.is-nsfw-blurred .fi-minithumb,
.feeditem.is-nsfw-blurred .fi-titlemedia-thumb,
.feeditem.is-nsfw-blurred .fi-hero-card,
.gallery-tile.is-nsfw-blurred .gallery-media{
  pointer-events:none !important;
}
.feeditem.is-nsfw-blurred .nsfw-reveal-btn,
.gallery-tile.is-nsfw-blurred .nsfw-reveal-btn{
  pointer-events:auto !important;
}

/* === 2026-05-17: composer sensitivity selector in top header === */
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.topbar-sensitivity-picker{
  pointer-events:auto !important;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:126px;
  max-width:min(44vw, 172px);
  height:40px;
  color:var(--text,#111827);
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.topbar-sensitivity-select{
  width:100%;
  height:40px;
  padding:0 24px 0 8px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text,#111827);
  font-family:inherit;
  font-size:17px;
  line-height:40px;
  font-weight:850;
  letter-spacing:-.02em;
  text-align:center;
  text-align-last:center;
  appearance:none;
  -webkit-appearance:none;
  border-radius:12px;
  cursor:pointer;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.topbar-sensitivity-select:focus-visible{
  box-shadow:0 0 0 3px rgba(249,115,22,.20);
}
.topbar-sensitivity-caret{
  position:absolute;
  right:5px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted,#6b7280);
  font-size:11px;
  line-height:1;
  pointer-events:none;
}
.topbar-sensitivity-picker.is-disabled{opacity:.45;}
.topbar-sensitivity-picker.is-disabled .topbar-sensitivity-select{cursor:not-allowed;}
body.compose-page .topbar-center{
  max-width:min(46vw, 176px) !important;
  pointer-events:none !important;
}
body.compose-page .topbar-sensitivity-picker,
body.compose-page .topbar-sensitivity-select{pointer-events:auto !important;}
:root[data-theme="dark"] .topbar-sensitivity-select{color:#f8fafc;}
:root[data-theme="dark"] .topbar-sensitivity-caret{color:#94a3b8;}
@media (max-width:420px){
  .topbar-sensitivity-picker{min-width:116px;max-width:42vw;height:40px;}
  .topbar-sensitivity-select{font-size:16px;padding-left:4px;padding-right:20px;}
  .topbar-sensitivity-caret{right:3px;}
}
@media (max-width:360px){
  .topbar-sensitivity-picker{min-width:94px;max-width:38vw;}
  .topbar-sensitivity-select{font-size:15px;}
}

/* === 2026-05-18: NSFW reveal-only / locked media hardfix === */
.feeditem.is-nsfw-blurred video,
.gallery-tile.is-nsfw-blurred video,
.is-nsfw-blurred video{
  pointer-events:none !important;
}
.feeditem.is-nsfw-blurred [data-video-play-toggle],
.feeditem.is-nsfw-blurred .video-play-toggle,
.gallery-tile.is-nsfw-blurred [data-video-play-toggle],
.gallery-tile.is-nsfw-blurred .video-play-toggle,
.is-nsfw-blurred [data-video-play-toggle],
.is-nsfw-blurred .video-play-toggle{
  pointer-events:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}
.feeditem.is-nsfw-revealed [data-video-play-toggle],
.feeditem.is-nsfw-revealed .video-play-toggle,
.gallery-tile.is-nsfw-revealed [data-video-play-toggle],
.gallery-tile.is-nsfw-revealed .video-play-toggle{
  pointer-events:auto !important;
  opacity:1 !important;
  visibility:visible !important;
}
.feeditem.is-nsfw-blurred .nsfw-reveal-btn,
.gallery-tile.is-nsfw-blurred .nsfw-reveal-btn,
.is-nsfw-blurred .nsfw-reveal-btn{
  pointer-events:auto !important;
  z-index:2147483001 !important;
}


/* Single post author identity truncation fix: keep long display names on one ellipsized line like feed cards. */
body.is-post .feeditem:not(.feeditem-hero) .fi-usercol{
  flex-wrap:nowrap;
  overflow:hidden;
}
body.is-post .feeditem:not(.feeditem-hero) .fi-usercol > .user-display-name-link{
  flex:1 1 auto;
  min-width:0;
  max-width:min(38vw, 220px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.is-post .feeditem:not(.feeditem-hero) .fi-usercol > .user-display-name-link .user-display-name-text{
  display:inline-block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.is-post .feeditem:not(.feeditem-hero) .fi-usercol > .user-display-name-link .user-display-name-badges{
  flex:0 0 auto;
}
@media (max-width:520px){
  body.is-post .feeditem:not(.feeditem-hero) .fi-realname{max-width:30vw;}
  body.is-post .feeditem:not(.feeditem-hero) .fi-usercol > .user-display-name-link{max-width:30vw;}
}

/* === 2026-05-18: composer header cleanup + edit safety controls === */
body.compose-page .topbar-center-title--compose-empty{
  display:none !important;
}
.modal-check{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:10px 0;
  color:var(--text,#111827);
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.modal-check input{
  width:22px;
  height:22px;
  flex:0 0 auto;
  accent-color:#16a34a;
}
.composer-anonymous--edit{
  padding:2px 2px 0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.composer-anonymous--edit .composer-anonymous-toggle{
  justify-content:flex-start;
  width:auto;
  display:inline-flex;
  padding:8px 0;
  background:transparent;
  border:0;
}

/* === 2026-05-18: composer header without global menu/logo === */
.topbar--compose .topbar-left--compose-empty{
  width:0 !important;
  min-width:0 !important;
  flex:0 0 0 !important;
  gap:0 !important;
  overflow:hidden !important;
}

/* Performance pack: paginated comments */
.comments-load-more-wrap{display:flex;justify-content:center;padding:16px 0 6px}
.comments-load-more{min-width:190px}
.comments-load-more.is-loading{opacity:.65;pointer-events:none}

/* === Composer submit button readability fix ===
   Keeps the existing button size, but scales the visible "Post" label so it matches the pill button better on mobile. */
body.compose-page .composer-toolbar-submit.composer-postbtn,
body.compose-inline .composer-toolbar-submit.composer-postbtn{
  font-size:18px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  min-width:104px;
  height:44px;
  padding:0 18px;
}
@media (max-width:560px){
  body.compose-page .composer-toolbar-submit.composer-postbtn,
  body.compose-inline .composer-toolbar-submit.composer-postbtn{
    font-size:18px;
    min-width:104px;
    height:44px;
    padding:0 18px;
  }
}


/* === 2026-05-18: admin-controlled single post category font size === */
body.is-post .feeditem .post-cats .post-cat{
  font-size:var(--fs-single-post-category,12px) !important;
  line-height:1.2 !important;
}

/* === 2026-05-18: Channels discover topic filter shows channels, not posts === */
.channels-discover-v2-page .channel-topic-chip.is-active{
  border-color:rgba(11,87,208,.36) !important;
  background:rgba(11,87,208,.08) !important;
  color:#0b57d0 !important;
  font-weight:800 !important;
  box-shadow:0 8px 22px rgba(11,87,208,.10) !important;
}
.channels-discover-v2-page .channel-discover-section--category-filter{
  margin-top:22px !important;
}
.channels-discover-v2-page .channel-discover-section-head--filter{
  align-items:center !important;
  gap:12px !important;
}
.channels-discover-v2-page .channel-discover-filter-titlewrap{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}
.channels-discover-v2-page .channel-discover-filter-count{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:28px !important;
  height:28px !important;
  padding:0 9px !important;
  border-radius:999px !important;
  background:#f3f5f8 !important;
  color:#687180 !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1 !important;
}
.channels-discover-v2-page .channel-discover-clear{
  flex:0 0 auto !important;
  text-decoration:none !important;
  color:#6b7280 !important;
  font-size:14px !important;
  font-weight:800 !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  border:1px solid #e5e7eb !important;
  background:#fff !important;
}
.channels-discover-v2-page .channel-discover-clear:active{
  background:#f7f8fa !important;
}
.channels-discover-v2-page .channel-discover-filter-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  width:100% !important;
  min-width:0 !important;
}
.channels-discover-v2-page .channel-discover-filter-grid .channel-discover-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  flex:none !important;
}
@media (min-width:760px){
  .channels-discover-v2-page .channel-discover-filter-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width:430px){
  .channels-discover-v2-page .channel-discover-section-head--filter{
    flex-wrap:nowrap !important;
  }
  .channels-discover-v2-page .channel-discover-clear{
    font-size:13px !important;
    padding:7px 10px !important;
  }
  .channels-discover-v2-page .channel-discover-filter-count{
    min-width:26px !important;
    height:26px !important;
    font-size:13px !important;
  }
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-topic-chip.is-active{
  border-color:rgba(122,162,255,.48) !important;
  background:rgba(122,162,255,.14) !important;
  color:#dbe7ff !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-clear,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-filter-count{
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:rgba(238,244,251,.86) !important;
}


/* === 2026-05-18: channel auto-slug + discover search === */
.channels-discover-v2-page .channel-discover-search{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  width:calc(100% - 18px) !important;
  max-width:720px !important;
  min-height:44px !important;
  margin:0 18px 18px 0 !important;
  padding:0 46px 0 44px !important;
  border:1px solid #e5e7eb !important;
  border-radius:999px !important;
  background:#fff !important;
  box-shadow:0 8px 24px rgba(15,23,42,.04) !important;
  box-sizing:border-box !important;
}
.channels-discover-v2-page .channel-discover-search-icon{
  position:absolute !important;
  left:17px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#8a93a3 !important;
  font-size:23px !important;
  line-height:1 !important;
  pointer-events:none !important;
}
.channels-discover-v2-page .channel-discover-search-input{
  width:100% !important;
  min-width:0 !important;
  height:42px !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#111827 !important;
  font:inherit !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:42px !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.channels-discover-v2-page .channel-discover-search-input::placeholder{
  color:#9aa3b2 !important;
  opacity:1 !important;
  font-weight:650 !important;
}
.channels-discover-v2-page .channel-discover-search-clear{
  position:absolute !important;
  right:8px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:32px !important;
  height:32px !important;
  border-radius:999px !important;
  background:#f2f4f7 !important;
  color:#687180 !important;
  text-decoration:none !important;
  font-size:22px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.channels-discover-v2-page .channel-discover-section--search{
  margin-top:22px !important;
}
@media (max-width:430px){
  .channels-discover-v2-page .channel-discover-search{
    width:calc(100% - 20px) !important;
    min-height:42px !important;
    margin:0 20px 17px 0 !important;
    padding-left:41px !important;
    padding-right:42px !important;
  }
  .channels-discover-v2-page .channel-discover-search-input{
    height:40px !important;
    line-height:40px !important;
    font-size:15.5px !important;
  }
  .channels-discover-v2-page .channel-discover-search-icon{
    left:15px !important;
    font-size:22px !important;
  }
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-search{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.12) !important;
  box-shadow:none !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-search-input{
  color:#eef4fb !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-search-input::placeholder,
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-search-icon{
  color:rgba(210,219,231,.62) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-discover-search-clear{
  background:rgba(255,255,255,.10) !important;
  color:rgba(238,244,251,.88) !important;
}

/* === 2026-05-18: Channels discover = suggested rail + popular list === */
.channels-discover-v2-page .channel-discover-section--for-you{
  margin-top:-10px !important;
  margin-bottom:30px !important;
}
.channels-discover-v2-page .channel-discover-section--popular{
  margin-top:0 !important;
  margin-bottom:42px !important;
}
.channels-discover-v2-page .channel-discover-recommendation-rail{
  display:flex !important;
  align-items:stretch !important;
  gap:12px !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 24px 2px 0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
  overscroll-behavior-x:contain !important;
  scroll-snap-type:x proximity !important;
}
.channels-discover-v2-page .channel-discover-recommendation-rail::-webkit-scrollbar{
  display:none !important;
}
.channels-discover-v2-page .channel-discover-recommendation-rail .channel-discover-card{
  flex:0 0 min(460px, calc(100vw - 90px)) !important;
  max-width:min(460px, calc(100vw - 90px)) !important;
  width:min(460px, calc(100vw - 90px)) !important;
  scroll-snap-align:start !important;
}
.channels-discover-v2-page .channel-discover-popular-grid{
  padding-right:24px !important;
}
.channels-discover-v2-page .channel-discover-popular-grid .channel-discover-card{
  border-radius:18px !important;
}
@media (max-width:430px){
  .channels-discover-v2-page .channel-discover-section--for-you{
    margin-top:-8px !important;
    margin-bottom:28px !important;
  }
  .channels-discover-v2-page .channel-discover-recommendation-rail{
    gap:10px !important;
    padding-right:20px !important;
  }
  .channels-discover-v2-page .channel-discover-recommendation-rail .channel-discover-card{
    flex-basis:calc(100vw - 80px) !important;
    max-width:calc(100vw - 80px) !important;
    width:calc(100vw - 80px) !important;
  }
  .channels-discover-v2-page .channel-discover-popular-grid{
    padding-right:20px !important;
  }
}
@media (max-width:360px){
  .channels-discover-v2-page .channel-discover-recommendation-rail .channel-discover-card{
    flex-basis:calc(100vw - 68px) !important;
    max-width:calc(100vw - 68px) !important;
    width:calc(100vw - 68px) !important;
  }
}

/* === 2026-05-19: Serious channel directory for news/stories/memes/crypto/tech/history === */
.channels-discover-v2-page .channel-channel-hero{
  margin:0 18px 22px 0 !important;
  padding:20px 20px 18px !important;
  border:1px solid #e7e9ee !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f7f8fb 100%) !important;
  box-shadow:0 12px 36px rgba(15,23,42,.055) !important;
}
.channels-discover-v2-page .channel-channel-kicker{
  margin:0 0 8px !important;
  color:#5d6676 !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.channels-discover-v2-page .channel-channel-hero h2{
  margin:0 !important;
  max-width:820px !important;
  color:#111827 !important;
  font-size:clamp(24px,4.4vw,42px) !important;
  line-height:1.05 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}
.channels-discover-v2-page .channel-channel-hero p:not(.channel-channel-kicker){
  margin:12px 0 0 !important;
  max-width:760px !important;
  color:#526071 !important;
  font-size:15px !important;
  line-height:1.55 !important;
  font-weight:650 !important;
}
.channels-discover-v2-page .channel-topic-explore--channels{
  margin-bottom:28px !important;
}
.channels-discover-v2-page .channel-channel-section-intro,
.channels-discover-v2-page .channel-channel-section-head{
  margin:0 18px 12px 0 !important;
}
.channels-discover-v2-page .channel-channel-section-intro h2,
.channels-discover-v2-page .channel-channel-section-head h2{
  margin:0 !important;
  color:#111827 !important;
  font-size:22px !important;
  line-height:1.12 !important;
  letter-spacing:-.035em !important;
  font-weight:950 !important;
}
.channels-discover-v2-page .channel-channel-section-intro p,
.channels-discover-v2-page .channel-channel-section-head p{
  margin:6px 0 0 !important;
  max-width:760px !important;
  color:#667085 !important;
  font-size:13.5px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
}
.channels-discover-v2-page .channel-discover-section{
  margin-bottom:30px !important;
}
.channels-discover-v2-page .channel-discover-section--main-channels{
  margin-top:6px !important;
}
.channels-discover-v2-page .channel-channel-main-grid{
  padding-right:24px !important;
}
.channels-discover-v2-page .channel-channel-card{
  align-items:stretch !important;
  border-radius:20px !important;
}
.channels-discover-v2-page .channel-channel-card .channel-discover-card-main{
  align-items:flex-start !important;
}
.channels-discover-v2-page .channel-channel-card .channel-discover-avatar{
  margin-top:1px !important;
}
.channels-discover-v2-page .channel-channel-badges{
  display:flex !important;
  align-items:center !important;
  gap:5px !important;
  flex-wrap:wrap !important;
  margin:6px 0 0 !important;
}
.channels-discover-v2-page .channel-channel-badge{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:20px !important;
  padding:3px 7px !important;
  border:1px solid #e3e7ee !important;
  border-radius:999px !important;
  background:#f7f8fa !important;
  color:#475467 !important;
  font-size:10.5px !important;
  line-height:1 !important;
  font-weight:950 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}
.channels-discover-v2-page .channel-channel-featured{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:1 !important;
  overflow:hidden !important;
  margin:7px 0 0 !important;
  color:#273142 !important;
  font-size:13px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
}
.channels-discover-v2-page .channel-channel-featured b{
  font-weight:950 !important;
}
.channels-discover-v2-page .channel-discover-recommendation-rail .channel-channel-card{
  flex-basis:min(520px, calc(100vw - 90px)) !important;
  max-width:min(520px, calc(100vw - 90px)) !important;
  width:min(520px, calc(100vw - 90px)) !important;
}
.channels-discover-v2-page .channel-channel-card .channel-discover-join{
  background:#111827 !important;
}
.channels-discover-v2-page .channel-channel-card .channel-discover-join.is-joined,
.channels-discover-v2-page .channel-channel-card .channel-discover-join.is-disabled{
  background:#eef1f5 !important;
  color:#586174 !important;
}
@media (min-width:760px){
  .channels-discover-v2-page .channel-channel-main-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}
@media (max-width:430px){
  .channels-discover-v2-page .channel-channel-hero{
    margin-right:20px !important;
    padding:17px 16px 16px !important;
    border-radius:20px !important;
  }
  .channels-discover-v2-page .channel-channel-section-intro,
  .channels-discover-v2-page .channel-channel-section-head{
    margin-right:20px !important;
  }
  .channels-discover-v2-page .channel-channel-section-intro h2,
  .channels-discover-v2-page .channel-channel-section-head h2{
    font-size:20px !important;
  }
  .channels-discover-v2-page .channel-discover-recommendation-rail .channel-channel-card{
    flex-basis:calc(100vw - 80px) !important;
    max-width:calc(100vw - 80px) !important;
    width:calc(100vw - 80px) !important;
  }
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-hero{
  background:linear-gradient(180deg,rgba(255,255,255,.065) 0%,rgba(255,255,255,.035) 100%) !important;
  border-color:rgba(255,255,255,.10) !important;
  box-shadow:none !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-kicker,
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-hero p:not(.channel-channel-kicker),
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-section-intro p,
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-section-head p{
  color:rgba(214,224,238,.74) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-hero h2,
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-section-intro h2,
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-section-head h2{
  color:#eef4fb !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-badge{
  background:rgba(255,255,255,.075) !important;
  border-color:rgba(255,255,255,.12) !important;
  color:rgba(235,242,250,.86) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-featured{
  color:rgba(235,242,250,.92) !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-card .channel-discover-join{
  background:#eef4fb !important;
  color:#111827 !important;
}
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-card .channel-discover-join.is-joined,
:root[data-theme="dark"] .channels-discover-v2-page .channel-channel-card .channel-discover-join.is-disabled{
  background:rgba(255,255,255,.10) !important;
  color:rgba(238,244,251,.72) !important;
}

/* Upvote counter spacing: after downvote removal the score is now the only value next to the upvote icon. Keep it visually grouped like the other icon counters. */
.fi-votes{
  gap:4px;
}
.fi-votes > .fi-ibtn[data-vote="1"]{
  padding-right:0;
}
.fi-votes > .fi-count{
  min-width:0;
  text-align:left;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-votes{
  gap:4px;
}
.profile-feed--minimal .feeditem.feeditem-minimal .fi-votes{
  gap:4px !important;
}
@media (max-width:520px){
  .fi-votes{
    gap:4px;
  }
  .fi-votes > .fi-ibtn[data-vote="1"]{
    padding-right:0;
  }
}

/* Feed post avatar size: only normal feed post cards. Comments, minimal feed inline avatars and single post detail pages stay unchanged. */
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-shell{
  grid-template-columns:42px minmax(0,1fr) !important;
  column-gap:10px !important;
}
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink,
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink img,
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .av-post{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  border-radius:999px !important;
}
@media (max-width:520px){
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-shell{
    grid-template-columns:40px minmax(0,1fr) !important;
    column-gap:9px !important;
  }
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink,
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink img,
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .av-post{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    min-height:34px !important;
  }
}

/* Feed avatar global hardfix: make author avatars smaller in every feed-post layout selectable from admin.
   Applies to Explore/Following/Profile feed lists, but not to single post detail pages or comments. */
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-shell,
.profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-shell{
  grid-template-columns:32px minmax(0,1fr) !important;
  column-gap:8px !important;
}
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink,
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink img,
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .av-post,
.profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink,
.profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink img,
.profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .av-post{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  flex-basis:28px !important;
  border-radius:999px !important;
  object-fit:cover !important;
}
body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarcol,
.profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarcol{
  width:32px !important;
  min-width:32px !important;
  align-items:flex-start !important;
  justify-content:center !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head-avatarlink,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-head-avatarlink{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  flex:0 0 24px !important;
}
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head-avatar,
body.feed-view-minimal .feeditem.feeditem-minimal .fi-head .av,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-head-avatar,
.profile-feed--minimal .feeditem.feeditem-minimal .fi-head .av{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  flex-basis:24px !important;
  border-radius:999px !important;
  object-fit:cover !important;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-avatarlink,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-avatarlink{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  flex:0 0 18px !important;
}
body.feed-view-titlemedia .feeditem.feeditem-titlemedia .fi-head-avatar,
.profile-feed--titlemedia .feeditem.feeditem-titlemedia .fi-head-avatar{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  border-radius:999px !important;
  object-fit:cover !important;
}
body.feed-view-hero .feeditem.feeditem-hero .fi-hero-avatar,
.profile-feed--hero .feeditem.feeditem-hero .fi-hero-avatar{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  border-radius:999px !important;
  object-fit:cover !important;
}
body.feed-view-hero .feeditem.feeditem-hero .fi-hero-author,
.profile-feed--hero .feeditem.feeditem-hero .fi-hero-author{
  gap:6px !important;
  padding:4px 8px 4px 4px !important;
}
@media (max-width:520px){
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-shell,
  .profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-shell{
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:7px !important;
  }
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink,
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink img,
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .av-post,
  .profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink,
  .profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarlink img,
  .profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .av-post{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    min-height:26px !important;
    flex-basis:26px !important;
  }
  body:not(.is-post) .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarcol,
  .profile-feed .feeditem:not(.feeditem-minimal):not(.feeditem-hero):not(.feeditem-titlemedia) .fi-avatarcol{
    width:30px !important;
    min-width:30px !important;
  }
}



/* === 2026-05-20: Channels directory header restored ===
   The discover page uses the same Channels title, Create channel button and
   Directory/Following/Moderation tabs as the other channel tabs. The old
   structured-topics hero was removed from routes/channels.php. */
.channels-page.channels-discover-v2-page > .channels-head{
  display:flex !important;
}
.channels-page.channels-discover-v2-page > .seg-tabs{
  display:flex !important;
}
.channels-page.channels-discover-v2-page .channel-topic-explore--channels{
  margin-top:8px !important;
}

/* === 2026-05-20: Channels discover cards as visual tiles with horizontal rails === */
.channels-page.channels-discover-v2-page .channel-discover-filter-grid,
.channels-page.channels-discover-v2-page .channel-channel-main-grid,
.channels-page.channels-discover-v2-page .channel-discover-popular-grid,
.channels-page.channels-discover-v2-page .channel-discover-recommendation-rail{
  display:flex !important;
  grid-template-columns:none !important;
  align-items:stretch !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 24px 4px 0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-x:contain !important;
  scroll-snap-type:x proximity !important;
  scrollbar-width:none !important;
}
.channels-page.channels-discover-v2-page .channel-discover-filter-grid::-webkit-scrollbar,
.channels-page.channels-discover-v2-page .channel-channel-main-grid::-webkit-scrollbar,
.channels-page.channels-discover-v2-page .channel-discover-popular-grid::-webkit-scrollbar,
.channels-page.channels-discover-v2-page .channel-discover-recommendation-rail::-webkit-scrollbar{
  display:none !important;
}
.channels-page.channels-discover-v2-page .channel-discover-filter-grid .channel-discover-card,
.channels-page.channels-discover-v2-page .channel-channel-main-grid .channel-discover-card,
.channels-page.channels-discover-v2-page .channel-discover-popular-grid .channel-discover-card,
.channels-page.channels-discover-v2-page .channel-discover-recommendation-rail .channel-discover-card,
.channels-page.channels-discover-v2-page .channel-discover-card.channel-channel-tile{
  position:relative !important;
  flex:0 0 min(282px, 74vw) !important;
  width:min(282px, 74vw) !important;
  max-width:min(282px, 74vw) !important;
  min-width:min(282px, 74vw) !important;
  min-height:332px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:0 !important;
  padding:0 0 16px !important;
  border:1px solid #eceef3 !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:none !important;
  overflow:hidden !important;
  scroll-snap-align:start !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-card-main{
  flex:1 1 auto !important;
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  padding:0 !important;
  color:#111827 !important;
  text-decoration:none !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-cover{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:92px !important;
  flex:0 0 92px !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.28) 0 14px, transparent 15px),
    radial-gradient(circle at 78% 28%, rgba(255,255,255,.18) 0 22px, transparent 23px),
    linear-gradient(135deg, #fb7b22 0%, #111827 100%) !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-cover-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-avatar-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:78px !important;
  height:78px !important;
  flex:0 0 78px !important;
  margin:-39px auto 8px !important;
  padding:4px !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:0 8px 26px rgba(15,23,42,.08) !important;
  z-index:2 !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-avatar{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:70px !important;
  height:70px !important;
  min-width:70px !important;
  min-height:70px !important;
  flex:0 0 70px !important;
  margin:0 !important;
  border-radius:20px !important;
  object-fit:cover !important;
  background:#f1f3f6 !important;
  color:#111827 !important;
  font-size:25px !important;
  font-weight:950 !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-copy{
  flex:0 0 auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
  padding:0 18px !important;
  text-align:center !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-titleline{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  text-align:center !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-name{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  color:#111827 !important;
  font-size:18px !important;
  line-height:1.14 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-slug{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#737985 !important;
  font-size:13px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-channel-badges{
  justify-content:center !important;
  margin:8px 0 0 !important;
  gap:5px !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-channel-badge{
  min-height:20px !important;
  padding:3px 8px !important;
  border-radius:999px !important;
  font-size:10px !important;
  letter-spacing:.05em !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-desc{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  width:100% !important;
  margin:10px 0 0 !important;
  overflow:hidden !important;
  color:#2f343d !important;
  font-size:15.5px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-channel-featured{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important;
  width:100% !important;
  margin:9px 0 0 !important;
  overflow:hidden !important;
  color:#374151 !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:650 !important;
  text-align:center !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-meta{
  display:block !important;
  width:100% !important;
  margin:9px 0 0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#717987 !important;
  font-size:12.5px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  text-align:center !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-action{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:12px 0 0 !important;
  padding:0 16px !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-action form{
  display:flex !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-join{
  min-width:0 !important;
  width:100% !important;
  max-width:168px !important;
  height:38px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  background:var(--theme-button-bg,#ff5a00) !important;
  color:var(--theme-button-text,#ffffff) !important;
  font-size:14px !important;
  font-weight:950 !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-join.is-joined,
.channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-join.is-disabled{
  background:#eef1f5 !important;
  color:#667085 !important;
}
.channels-page.channels-discover-v2-page .channel-channel-tile.has-generated-banner .channel-discover-cover::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(135deg, rgba(255,255,255,.20), transparent 52%) !important;
  pointer-events:none !important;
}
@media (min-width:760px){
  .channels-page.channels-discover-v2-page .channel-discover-filter-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-channel-main-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-popular-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-recommendation-rail .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-card.channel-channel-tile{
    flex-basis:292px !important;
    width:292px !important;
    max-width:292px !important;
    min-width:292px !important;
  }
}
@media (max-width:430px){
  .channels-page.channels-discover-v2-page .channel-discover-filter-grid,
  .channels-page.channels-discover-v2-page .channel-channel-main-grid,
  .channels-page.channels-discover-v2-page .channel-discover-popular-grid,
  .channels-page.channels-discover-v2-page .channel-discover-recommendation-rail{
    gap:12px !important;
    padding-right:20px !important;
  }
  .channels-page.channels-discover-v2-page .channel-discover-filter-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-channel-main-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-popular-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-recommendation-rail .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-card.channel-channel-tile{
    flex-basis:min(274px, 74vw) !important;
    width:min(274px, 74vw) !important;
    max-width:min(274px, 74vw) !important;
    min-width:min(274px, 74vw) !important;
    min-height:326px !important;
    border-radius:21px !important;
  }
  .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-cover{
    height:88px !important;
    flex-basis:88px !important;
  }
  .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-avatar-wrap{
    width:74px !important;
    height:74px !important;
    flex-basis:74px !important;
    margin-top:-37px !important;
    border-radius:23px !important;
  }
  .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-avatar{
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
    flex-basis:66px !important;
    border-radius:19px !important;
  }
  .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-copy{
    padding:0 15px !important;
  }
  .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-name{
    font-size:17px !important;
  }
  .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-desc{
    font-size:15px !important;
  }
}
@media (max-width:360px){
  .channels-page.channels-discover-v2-page .channel-discover-filter-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-channel-main-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-popular-grid .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-recommendation-rail .channel-discover-card,
  .channels-page.channels-discover-v2-page .channel-discover-card.channel-channel-tile{
    flex-basis:min(252px, 76vw) !important;
    width:min(252px, 76vw) !important;
    max-width:min(252px, 76vw) !important;
    min-width:min(252px, 76vw) !important;
  }
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile{
  background:rgba(255,255,255,.045) !important;
  border-color:rgba(255,255,255,.09) !important;
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-avatar-wrap{
  background:#101621 !important;
  box-shadow:none !important;
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-avatar,
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-avatar--placeholder{
  background:rgba(255,255,255,.10) !important;
  color:#eef4fb !important;
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-name,
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-card-main{
  color:#eef4fb !important;
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-slug,
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-meta{
  color:rgba(215,224,237,.70) !important;
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-desc,
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-channel-featured{
  color:rgba(235,242,250,.88) !important;
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-join{
  background:var(--theme-button-bg,#ff5a00) !important;
  color:var(--theme-button-text,#ffffff) !important;
}
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-join.is-joined,
:root[data-theme="dark"] .channels-page.channels-discover-v2-page .channel-channel-tile .channel-discover-join.is-disabled{
  background:rgba(255,255,255,.10) !important;
  color:rgba(238,244,251,.72) !important;
}

/* Composer audience/avatar hardfix: hidden attribute must win over author CSS. */
.composer-audience-avatar[hidden],
.composer-audience-fallback[hidden]{display:none !important;}
.composer-audience-icon.is-fallback .composer-audience-fallback{display:flex !important;}
.urlpv-img{position:relative;overflow:hidden;}
.urlpv-img img[data-ifx-preview-img]{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;border:0;}
.urlpv-img img[data-ifx-preview-img][hidden]{display:none !important;}

/* Composer avatar hardfix: hidden must beat fallback helper even when the icon has is-fallback. */
.composer-audience-icon.is-fallback .composer-audience-fallback[hidden],
.composer-audience-icon .composer-audience-avatar[hidden],
.composer-audience-icon .composer-audience-fallback[hidden]{display:none !important;}


/* === 2026-05-23: profile cover image visibility fix ===
   Earlier compact-profile overrides forced .p2-cover-profile to background-image:none.
   When a user has uploaded banner_image, restore the actual cover image while keeping
   the compact metadata/avatar layout intact. */
body .p2.p2-has-cover .p2-cover-profile.has-image{
  position:relative !important;
  display:block !important;
  min-height:300px !important;
  height:auto !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  border-bottom:0 !important;
  background-color:#070b14 !important;
  background-image:linear-gradient(180deg, rgba(3,7,18,.18) 0%, rgba(3,7,18,.34) 45%, rgba(3,7,18,.64) 100%), var(--p2-cover-img) !important;
  background-size:cover, cover !important;
  background-position:center, center !important;
  background-repeat:no-repeat, no-repeat !important;
  box-shadow:none !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image::after{
  content:none !important;
  display:none !important;
}

body .p2.p2-has-cover .p2-cover-profile.has-image .p2-cover-img{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center !important;
  pointer-events:none !important;
  user-select:none !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:block !important;
  pointer-events:none !important;
  background:linear-gradient(180deg, rgba(3,7,18,.18) 0%, rgba(3,7,18,.34) 45%, rgba(3,7,18,.64) 100%) !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover{
  position:relative !important;
  z-index:2 !important;
  background:transparent !important;
  color:#ffffff !important;
  min-height:300px !important;
  padding:66px 112px 22px 18px !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-meta,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-display-name,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-handle,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-handle a,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-joined-inline,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-chev,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-bio,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-bio-meta,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-stat .n,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-stat .l{
  color:#ffffff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.42) !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-handle,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-joined-inline,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-stat .l{
  opacity:.94 !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit{
  top:66px !important;
  right:18px !important;
  border:2px solid rgba(255,255,255,.9) !important;
  background:rgba(255,255,255,.16) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.26) !important;
}
@media (max-width:520px){
  body .p2.p2-has-cover .p2-cover-profile.has-image{
    min-height:300px !important;
  }
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head,
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover{
    min-height:300px !important;
    padding:66px 96px 20px 16px !important;
  }
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit{
    top:66px !important;
    right:16px !important;
  }
}


/* === 2026-05-23: compact fixed profile cover header ===
   Uploaded profile cover images now behave like the normal compact profile header:
   the identity block/avatar stay pinned to the top, the cover keeps the same
   base height as a profile without a banner, and the header grows only when
   real profile content such as a bio needs more vertical space. */
body .p2.p2-has-cover .p2-cover-profile.has-image,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:112px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  border-bottom:1px solid var(--border) !important;
  background-color:#070b14 !important;
  background-image:var(--p2-cover-img) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  box-shadow:none !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-cover-img{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  pointer-events:none !important;
  user-select:none !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:block !important;
  pointer-events:none !important;
  background:linear-gradient(90deg, rgba(3,7,18,.72) 0%, rgba(3,7,18,.42) 48%, rgba(3,7,18,.18) 100%) !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image::after{
  content:none !important;
  display:none !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:flex-start !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  width:100% !important;
  min-height:112px !important;
  height:auto !important;
  box-sizing:border-box !important;
  padding:18px 112px 16px 18px !important;
  background:transparent !important;
  color:#fff !important;
  overflow:visible !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-meta,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-display-name,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-handle,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-handle a,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-handle-at,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-joined-inline,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-chev,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-bio,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-bio-meta,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-bio-full,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-stat .n,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-stat .l{
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.50) !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-handle,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-joined-inline,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-stat .l{
  opacity:.95 !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit{
  top:18px !important;
  right:18px !important;
  width:74px !important;
  height:74px !important;
  min-width:74px !important;
  min-height:74px !important;
  transform:none !important;
  border:2px solid rgba(255,255,255,.92) !important;
  background:rgba(255,255,255,.16) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.24) !important;
  z-index:4 !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit:active,
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit:active{
  transform:scale(.96) !important;
}
@media (max-width:520px){
  body .p2.p2-has-cover .p2-cover-profile.has-image,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image{
    min-height:104px !important;
  }
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head,
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover{
    min-height:104px !important;
    padding:16px 96px 14px 16px !important;
  }
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
  body .p2.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
  body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-profile-top-avatar-edit,
  body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-head-on-cover .p2-profile-top-avatar-edit{
    top:16px !important;
    right:16px !important;
    width:66px !important;
    height:66px !important;
    min-width:66px !important;
    min-height:66px !important;
    transform:none !important;
  }
}

/* === 2026-05-23: profile edit clickable avatar/cover + cover vertical alignment === */
.profile-edit-page-simple .profile-avatar-picker{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  border-radius:22px;
  cursor:pointer;
  user-select:none;
  touch-action:manipulation;
}
.profile-edit-page-simple .profile-avatar-picker input[type="file"],
.profile-edit-page-simple .profile-cover-picker input[type="file"]{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  overflow:hidden !important;
}
.profile-edit-page-simple .profile-avatar-picker .profile-edit-avatar-preview{
  display:block;
  width:72px;
  height:72px;
  border-radius:22px;
}
.profile-avatar-picker-mark{
  position:absolute;
  right:-4px;
  bottom:-4px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#ff6a00;
  color:#fff;
  border:2px solid var(--card,#fff);
  font-size:14px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(15,23,42,.18);
}
.profile-edit-page-simple .profile-simple-banner{
  gap:10px;
}
.profile-edit-page-simple .profile-cover-picker,
.profile-edit-page-simple .profile-edit-banner-preview.profile-cover-picker{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  min-height:118px;
  overflow:hidden;
  cursor:pointer;
  user-select:none;
  touch-action:none;
  background-size:cover;
  background-position:center var(--ep-banner-y,50%);
  background-repeat:no-repeat;
}
.profile-edit-page-simple .profile-edit-banner-preview.profile-cover-picker.has-image{
  background-image:linear-gradient(180deg,rgba(3,7,18,.08),rgba(3,7,18,.46)),var(--ep-banner);
  background-size:cover,cover;
  background-position:center center,center var(--ep-banner-y,50%);
}
.profile-cover-picker-img{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center var(--ep-banner-y,50%);
  pointer-events:none;
  user-select:none;
}
.profile-edit-page-simple .profile-edit-banner-preview.profile-cover-picker.has-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,7,18,.06),rgba(3,7,18,.36));
}
.profile-cover-picker-hint{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:10px;
  max-width:calc(100% - 20px);
  padding:7px 10px;
  border-radius:12px;
  background:rgba(17,24,39,.72);
  color:#fff;
  font-size:12px;
  line-height:1.15;
  font-weight:850;
  backdrop-filter:saturate(160%) blur(10px);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
}
.profile-cover-picker:not(.has-image) .profile-cover-picker-hint{
  background:rgba(255,255,255,.82);
  color:#111827;
  border:1px solid rgba(15,23,42,.08);
}
.profile-cover-picker.has-image .profile-cover-picker-hint{
  position:absolute;
  right:10px;
  bottom:10px;
  margin:0;
  width:32px;
  height:32px;
  max-width:none;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(17,24,39,.72);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 8px 18px rgba(15,23,42,.18);
}
.profile-cover-picker.has-image .profile-cover-picker-hint::before{
  content:"✎";
  color:#fff;
  font-size:14px;
  font-weight:900;
  line-height:1;
}
.profile-cover-picker.has-image .profile-cover-picker-hint > *{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.profile-cover-picker-hint small{
  color:inherit;
  opacity:.82;
  font-size:11px;
  font-weight:750;
}
.profile-cover-position-control{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  color:var(--muted,#6b7280);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.profile-cover-position-range{
  width:100%;
  accent-color:#ff6a00;
}
.profile-edit-page-simple .profile-remove-banner-option{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 10px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:rgba(248,250,252,.72);
  color:var(--muted,#6b7280);
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}
.profile-edit-page-simple .profile-remove-banner-option input{
  width:16px;
  height:16px;
  accent-color:#ff6a00;
}
body .p2.p2-has-cover .p2-cover-profile.has-image,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image{
  background-position:center var(--p2-cover-y,50%) !important;
}
body .p2.p2-has-cover .p2-cover-profile.has-image .p2-cover-img,
body .p2.p2-own-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-cover-img,
body .p2.p2-user-profile-clean.p2-has-cover .p2-cover-profile.has-image .p2-cover-img{
  object-position:center var(--p2-cover-y,50%) !important;
}
:root[data-theme="dark"] .profile-cover-picker:not(.has-image) .profile-cover-picker-hint{
  background:rgba(17,24,39,.82);
  color:#fff;
  border-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .profile-edit-page-simple .profile-remove-banner-option{
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.10);
}
@media (max-width:760px){
  .profile-edit-page-simple .profile-avatar-picker,
  .profile-edit-page-simple .profile-avatar-picker .profile-edit-avatar-preview{
    width:68px;
    height:68px;
    border-radius:21px;
  }
  .profile-edit-page-simple .profile-cover-picker,
  .profile-edit-page-simple .profile-edit-banner-preview.profile-cover-picker{
    min-height:124px;
  }
  .profile-cover-position-control{
    grid-template-columns:1fr;
    gap:6px;
  }
}


/* === 2026-05-23: realtime profile cover positioning hardfix === */
.profile-edit-page-simple .profile-edit-banner-preview.profile-cover-picker.has-image{
  background-position:center center,center var(--ep-banner-y,50%) !important;
}
.profile-edit-page-simple .profile-cover-picker-img{
  object-position:center var(--ep-banner-y,50%) !important;
  will-change:object-position;
  transform:translateZ(0);
}
.profile-edit-page-simple .profile-cover-position-range{
  touch-action:pan-x;
}


/* === 2026-05-23: profile edit cover live slider geometry hardfix === */
.profile-edit-page-simple .profile-edit-banner-preview.profile-cover-picker{
  contain:paint;
}
.profile-edit-page-simple .profile-edit-banner-preview.profile-cover-picker .profile-cover-picker-img{
  z-index:0 !important;
  display:block !important;
  will-change:top,left,width,height,object-position !important;
}
.profile-edit-page-simple .profile-cover-position-range{
  cursor:grab;
}
.profile-edit-page-simple .profile-cover-position-range:active{
  cursor:grabbing;
}

/* === 2026-05-24: reliable uploaded-video poster preview === */
.fi-video-open,
.fi-media,
.fi-media-cell,
.fi-minithumb,
.fi-titlemedia-thumb,
.fi-hero-card,
.fi-media-scroll-slide{
  position:relative;
}
.post-video-poster-frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  z-index:1;
  pointer-events:none;
  border-radius:inherit;
  background:#eef1f5;
}
video.post-video + .post-video-poster-frame + .video-play-toggle,
video.post-video + .post-video-poster-frame ~ .video-play-toggle{
  z-index:2147483647 !important;
}
video.post-video.is-manual-playing + .post-video-poster-frame,
video.post-video.is-autoplaying + .post-video-poster-frame,
video.post-video.is-playing + .post-video-poster-frame{
  opacity:0;
  visibility:hidden;
}
.fi-titlemedia-thumb .post-video-poster-frame,
.fi-minithumb .post-video-poster-frame,
.fi-media-cell .post-video-poster-frame,
.fi-media .post-video-poster-frame,
.fi-video-open .post-video-poster-frame{
  border-radius:inherit;
}

/* === 2026-05-24: video playback only from explicit play button === */
.feeditem video.post-video[data-feed-video="1"],
.gallery-tile video.post-video[data-feed-video="1"],
.fi-minithumb video.post-video[data-feed-video="1"],
.fi-titlemedia-thumb video.post-video[data-feed-video="1"],
.fi-hero-card video.post-video[data-feed-video="1"]{
  pointer-events:none !important;
}
.feeditem [data-video-play-toggle="1"],
.feeditem button.video-play-toggle,
.feeditem .video-play-toggle,
.gallery-tile [data-video-play-toggle="1"],
.gallery-tile button.video-play-toggle,
.gallery-tile .video-play-toggle{
  pointer-events:auto !important;
}


/* Desktop primary navigation: clean text-link sidebar + topbar compose */
.desktop-primary-nav-section{display:none;}
.topbar-desktop-compose{display:none;}
@media (min-width:1024px){
  .desktop-primary-nav-section{
    display:block;
    padding:10px 14px 14px !important;
    border-bottom:1px solid var(--border,#e5e7eb);
  }
  .desktop-nav-list{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin:0;
    padding:0;
  }
  .desktop-nav-link{
    display:flex;
    align-items:center;
    min-height:34px;
    padding:7px 0;
    border:0;
    background:transparent;
    color:var(--muted,#6b7280);
    font-size:16px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.015em;
    text-decoration:none;
    transition:color .14s ease, opacity .14s ease;
  }
  .desktop-nav-link:hover{
    color:var(--text,#111827);
    text-decoration:none;
  }
  .desktop-nav-link.is-active{
    color:var(--theme-button-bg,#ff5a00);
    font-weight:900;
  }
  .desktop-nav-link--compose{
    color:var(--theme-button-bg,#ff5a00);
    font-weight:900;
  }
  .desktop-nav-link--compose::before{
    content:"+";
    display:inline-block;
    width:14px;
    margin-right:6px;
    font-weight:900;
    line-height:1;
  }
  .topbar-desktop-compose{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:0 14px;
    border-radius:999px;
    background:var(--theme-button-bg,#ff5a00);
    color:var(--theme-button-text,#fff);
    border:1px solid var(--theme-button-bg,#ff5a00);
    font-size:13px;
    font-weight:900;
    box-shadow:0 8px 18px rgba(255,90,0,.16);
    margin-right:10px;
    white-space:nowrap;
  }
  .topbar-desktop-compose span{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .topbar-desktop-compose svg{
    width:18px;
    height:18px;
    display:block;
    fill:currentColor;
    stroke:currentColor;
  }
  .topbar-desktop-compose:hover{opacity:.94;}
}
:root[data-theme="dark"] .desktop-primary-nav-section{
  border-bottom-color:rgba(255,255,255,.10);
}
:root[data-theme="dark"] .desktop-nav-link{
  color:rgba(244,246,251,.62);
}
:root[data-theme="dark"] .desktop-nav-link:hover{
  color:#f4f6fb;
}
:root[data-theme="dark"] .desktop-nav-link.is-active,
:root[data-theme="dark"] .desktop-nav-link--compose{
  color:color-mix(in srgb,var(--theme-button-bg,#ff5a00) 74%,#fff);
}


/* Desktop sidebar legal footer bottom alignment */
@media (min-width:1024px){
  .desktop-drawer-sidebar .drawer-panel{
    height:calc(100vh - 100px) !important;
    max-height:calc(100vh - 100px) !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
  }
  .desktop-drawer-sidebar .drawer-search-hideable{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:12px !important;
    scrollbar-width:none;
    scrollbar-color:rgba(120,128,140,.55) transparent;
  }
  .desktop-drawer-sidebar .drawer-search-hideable:hover,
  .desktop-drawer-sidebar .drawer-search-hideable:focus-within{
    scrollbar-width:thin;
  }
  .desktop-drawer-sidebar .drawer-search-hideable::-webkit-scrollbar{
    width:0;
    display:block;
  }
  .desktop-drawer-sidebar .drawer-search-hideable:hover::-webkit-scrollbar,
  .desktop-drawer-sidebar .drawer-search-hideable:focus-within::-webkit-scrollbar{
    width:8px;
  }
  .desktop-drawer-sidebar .drawer-search-hideable::-webkit-scrollbar-thumb{
    background:rgba(120,128,140,.55);
    border-radius:999px;
  }
  .desktop-drawer-sidebar .drawer-search-hideable::-webkit-scrollbar-track{
    background:transparent;
  }
  .desktop-drawer-sidebar .drawer-account-bottom{
    margin-top:22px !important;
    padding-bottom:8px !important;
  }
  .desktop-drawer-sidebar .drawer-fixed-footer{
    flex:0 0 auto !important;
    width:100% !important;
    margin-top:auto !important;
    padding:8px 12px 14px !important;
    border-top:1px solid rgba(17,24,39,.08) !important;
    background:var(--card,#fff) !important;
    box-shadow:none !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
  .desktop-drawer-sidebar .drawer-fixed-footer .drawer-footer-links{
    position:static !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:var(--muted,#6b7280) !important;
    font-size:12px !important;
    line-height:1.3 !important;
    font-weight:800 !important;
  }
  .desktop-drawer-sidebar .drawer-fixed-footer .drawer-footer-links a{
    color:inherit !important;
    text-decoration:none !important;
  }
  .desktop-drawer-sidebar .drawer-fixed-footer .drawer-footer-links a:hover,
  .desktop-drawer-sidebar .drawer-fixed-footer .drawer-footer-links a:focus{
    color:var(--text,#111827) !important;
    text-decoration:underline !important;
  }
  .desktop-drawer-sidebar .drawer-panel.is-sidebar-searching .drawer-fixed-footer,
  .desktop-drawer-sidebar .drawer-panel[data-sidebar-search-active="1"] .drawer-fixed-footer{
    display:none !important;
  }
}
:root[data-theme="dark"] .desktop-drawer-sidebar .drawer-fixed-footer{
  background:var(--card,#111827) !important;
  border-top-color:rgba(255,255,255,.10) !important;
}
:root[data-theme="dark"] .desktop-drawer-sidebar .drawer-fixed-footer .drawer-footer-links{
  color:rgba(226,232,240,.66) !important;
}
:root[data-theme="dark"] .desktop-drawer-sidebar .drawer-fixed-footer .drawer-footer-links a:hover,
:root[data-theme="dark"] .desktop-drawer-sidebar .drawer-fixed-footer .drawer-footer-links a:focus{
  color:#fff !important;
}
