
/* access */
.access-lock{display:inline-flex;vertical-align:-2px;margin-inline-end:4px;color:var(--text-subtle)}.access-lock .icon{width:14px;height:14px}.access-when{display:none}.access-row .form-help{margin-top:4px}.access-pw{display:flex;gap:8px;justify-content:center;margin-top:12px}.access-pw input{max-width:220px}.access-hidden{margin:12px 0 0;padding:12px 14px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel-2);color:var(--text-muted);font-size:var(--font-size-sm)}.access-hidden b{color:var(--text)}.access-shown{margin-top:12px;padding:12px 14px;border:1px solid var(--success);border-radius:var(--radius);background:var(--success-soft)}.access-shown > .access-shown-head{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--success);font-size:var(--font-size-sm);font-weight:600}.access-shown .icon{width:15px;height:15px}.access-private{color:var(--text-muted);font-style:italic}

/* image_gallery */
/* ============================================================
   Image Gallery — assets/gallery.css
   Two parts:
     1. The grid (.imgallery) — wraps consecutive <img> tags inside
        a post into a responsive grid.
     2. The lightbox (.imgallery-lightbox) — a full-screen overlay
        with prev/next navigation, opened by clicking a gallery image.

   All colours come from the forum's CSS variables, so the gallery
   follows light/dark themes and any brand-colour override.
   ============================================================ */

/* ---------- 1. Grid ---------- */
[data-imgallery] {
  display: grid;
  grid-template-columns: repeat(var(--imgallery-cols, 2), 1fr);
  gap: 6px;
  margin: 12px 0;
  /* Cap each image's height so a row of three portraits doesn't push
     the rest of the topic down by 3000 pixels. */
  --imgallery-cell-h: 220px;
}

/* Column-count modifiers — set by the PHP hook based on image count.
   .imgallery-2 → two columns, .imgallery-3 → three, and so on up to 5. */
.imgallery-2 { --imgallery-cols: 2; }
.imgallery-3 { --imgallery-cols: 3; }
.imgallery-4 { --imgallery-cols: 4; --imgallery-cell-h: 180px; }
.imgallery-5 { --imgallery-cols: 5; --imgallery-cell-h: 160px; }

/* On small screens, cap the column count at 2 so thumbnails stay big enough to tap. */
@media (max-width: 540px) {
  [data-imgallery] { --imgallery-cols: 2 !important; --imgallery-cell-h: 140px; }
  .imgallery-2     { --imgallery-cols: 2 !important; }
}

[data-imgallery] img[data-imgallery-item] {
  width: 100%;
  height: var(--imgallery-cell-h);
  object-fit: cover;
  border-radius: var(--radius-sm, 8px);
  cursor: zoom-in;
  background: var(--panel-2, #f8f9fb);
  border: 1px solid var(--line-soft, #eff1f4);
  transition: transform .2s cubic-bezier(.22, .61, .2, 1), box-shadow .2s, filter .2s;
  display: block;
}

[data-imgallery] img[data-imgallery-item]:hover {
  transform: scale(1.02);
  box-shadow: var(--shadow-md);
  filter: brightness(1.05);
  z-index: 1;
}

[data-imgallery] img[data-imgallery-item]:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

/* When images live inside the grid, the .post-image-max setting of the
   forum shouldn't make them tiny — override it for gallery items only. */
.post-content [data-imgallery] img[data-imgallery-item] {
  max-width: none;
}

/* ---------- 2. Lightbox ---------- */
[data-imgallery-lightbox] {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(8, 10, 14, .92);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: imgallery-fade-in .25s cubic-bezier(.22, .61, .2, 1);
}

[data-imgallery-lightbox][hidden] {
  display: none;
}

@keyframes imgallery-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* The big image */
.imgallery-stage {
  margin: 0;
  max-width: 90vw;
  max-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.imgallery-stage img {
  max-width: 90vw;
  max-height: 80vh;
  object-fit: contain;
  border-radius: var(--radius-sm, 8px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .5);
  animation: imgallery-zoom-in .25s cubic-bezier(.22, .61, .2, 1);
}

@keyframes imgallery-zoom-in {
  from { opacity: 0; transform: scale(.96); }
  to   { opacity: 1; transform: scale(1); }
}

/* Caption (the image's alt text, if any) */
.imgallery-caption {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 80vw;
  padding: 6px 14px;
  border-radius: var(--radius-pill, 999px);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: var(--font-size-sm, 12px);
  text-align: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.imgallery-caption:empty { display: none; }

/* Counter ("3 / 7") */
.imgallery-counter {
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 12px;
  border-radius: var(--radius-pill, 999px);
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: var(--font-size-xs, 11px);
  font-variant-numeric: tabular-nums;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.imgallery-counter:empty { display: none; }

/* Close button (top-right) */
.imgallery-close {
  position: absolute;
  top: 16px;
  inset-inline-end: 16px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background .15s, transform .15s;
}
.imgallery-close:hover {
  background: rgba(255, 255, 255, .18);
  transform: scale(1.05);
}
.imgallery-close svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; }

/* Prev / next buttons (vertically centred on each side) */
.imgallery-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: background .15s, transform .15s;
}
.imgallery-nav:hover {
  background: rgba(255, 255, 255, .18);
}
.imgallery-prev:hover { transform: translateY(-50%) scale(1.05) translateX(-2px); }
.imgallery-next:hover { transform: translateY(-50%) scale(1.05) translateX(2px); }
.imgallery-nav svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 2; fill: none; }

.imgallery-prev { inset-inline-start: 16px; }
.imgallery-next { inset-inline-end: 16px; }

/* On small screens, move the prev/next buttons to the bottom and make
   them bigger so they're easy to tap. */
@media (max-width: 540px) {
  [data-imgallery-lightbox] { padding: 12px; }
  .imgallery-stage,
  .imgallery-stage img { max-width: 95vw; max-height: 70vh; }
  .imgallery-nav {
    top: auto;
    bottom: 24px;
    transform: none;
    width: 56px;
    height: 56px;
  }
  .imgallery-prev:hover,
  .imgallery-next:hover { transform: scale(1.05); }
  .imgallery-prev { inset-inline-start: 16px; }
  .imgallery-next { inset-inline-end: 16px; }
  .imgallery-caption { bottom: 90px; }
  .imgallery-close { width: 36px; height: 36px; }
}

/* Respect reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
  [data-imgallery-lightbox],
  .imgallery-stage img,
  [data-imgallery] img[data-imgallery-item] {
    animation: none !important;
    transition: none !important;
  }
}

/* Print: hide the lightbox; galleries print as simple image grids. */
@media print {
  [data-imgallery-lightbox] { display: none !important; }
  [data-imgallery] img[data-imgallery-item] { height: auto; cursor: default; }
}


/* leaderboard */
.leaderboard-list{list-style:none;margin:0;padding:0;counter-reset:p}.leaderboard-list li{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--line-soft)}.leaderboard-list li:last-child{border:0}.leaderboard-list li::before{counter-increment:p;content:counter(p);width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--text-subtle);font-size:11px;font-weight:600;flex:none}.leaderboard-list li:nth-child(1)::before{background:#f5a623;color:#fff}.leaderboard-list li:nth-child(2)::before{background:#7aa7ff;color:#fff}.leaderboard-list li:nth-child(3)::before{background:#f08a9b;color:#fff}.leaderboard-list b{margin-inline-start:auto;color:var(--brand);font-size:var(--font-size-sm)}.leaderboard-more{display:block;margin-top:8px;font-size:var(--font-size-sm)}.leaderboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.leaderboard-head h1{margin:0}.leaderboard-head p{margin:4px 0 0;color:var(--text-muted);font-size:var(--font-size-sm)}.leaderboard-mine{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:var(--font-size-sm);font-weight:600}.leaderboard-mine svg{width:14px;height:14px}.leaderboard-tabs{margin-bottom:8px}.leaderboard-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:end;margin:34px 0 18px}.leaderboard-top{--tint:rgba(122,167,255,.16);--ring:#7aa7ff;--num:#4c7fe8;position:relative;text-align:center;padding:48px 12px 22px;border-radius:18px;border:1px solid var(--line-soft);background:linear-gradient(180deg,var(--tint) 0%,var(--panel) 100%)}.leaderboard-top.r1{--tint:rgba(255,178,36,.2);--ring:#f5a623;--num:#e8641c;padding-top:56px;transform:translateY(-16px)}.leaderboard-top.r3{--tint:rgba(240,138,155,.16);--ring:#f08a9b;--num:#e2576f}.leaderboard-top.empty{border-style:dashed;background:none;min-height:120px}.leaderboard-top.me{box-shadow:0 0 0 2px var(--brand)}.leaderboard-crown{position:absolute;top:-22px;left:50%;transform:translateX(-50%);width:44px;height:44px;color:var(--ring)}.leaderboard-crown svg{width:44px;height:44px;fill:currentColor}.leaderboard-crown i{position:absolute;left:0;right:0;top:15px;font-style:normal;font-size:13px;font-weight:700;color:#fff;text-align:center}.leaderboard-top .avatar{--s:80px;width:80px;height:80px;font-size:32px;border:3px solid var(--ring);box-shadow:0 6px 18px rgba(0,0,0,.08)}.leaderboard-top .avatar-link{display:inline-block;border-radius:50%}.leaderboard-name{margin-top:12px;font-weight:600;font-size:var(--font-size-lg)}.leaderboard-name a{color:inherit}.leaderboard-top.r1 .leaderboard-name{font-size:1.2rem}.leaderboard-group{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--panel-2);color:var(--text-muted);font-size:var(--font-size-xs);line-height:1.6}.leaderboard-top .leaderboard-group{margin-top:8px}.leaderboard-val{margin-top:12px;font-weight:700;font-size:1.25rem;color:var(--num)}.leaderboard-top.r1 .leaderboard-val{font-size:1.5rem}.leaderboard-sub{margin-top:4px;color:var(--text-muted);font-size:var(--font-size-xs)}.leaderboard-table table{width:100%;border-collapse:collapse}.leaderboard-table th{font-weight:500;color:var(--text-muted);font-size:var(--font-size-sm);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.leaderboard-table td{padding:14px 12px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.leaderboard-table tr:last-child td{border:0}.leaderboard-table tr.me td{background:var(--brand-soft)}.leaderboard-rank{width:56px;color:var(--text-subtle);font-weight:600;font-size:var(--font-size-lg);text-align:center}.leaderboard-member{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.leaderboard-member .user-link{font-weight:600}.leaderboard-num{text-align:right;white-space:nowrap}.leaderboard-num b{font-size:var(--font-size-lg)}.leaderboard-num small{display:block;color:var(--text-muted);font-size:var(--font-size-xs)}@media(max-width:640px){.leaderboard-podium{grid-template-columns:1fr;gap:28px;margin-top:30px}.leaderboard-top.r1{order:-1;transform:none}.leaderboard-top.empty{display:none}.leaderboard-table td,.leaderboard-table th{padding:10px 8px}.leaderboard-rank{width:36px}}

/* market */
.market-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.market-filter-row .tabs{margin:0}.market-search{margin-inline-start:auto;width:200px;height:32px;padding:0 10px}.market-search input{font-size:var(--font-size-sm)}.market-filter-row .icon-btn{width:32px;height:32px}@media(max-width:640px){.market-search{width:100%;margin-inline-start:0;order:2}.market-filter-row .icon-btn{order:3}}.market-connect{padding:18px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);text-align:center}.market-connect p:first-child{max-width:520px;margin:0 auto 12px}.market-connect .btn-lg{margin:4px 0 8px}.market-token-fold{margin-top:14px}.market-token-fold summary{cursor:pointer}.market-token-fold .admin-form{margin-top:10px}@media(max-width:640px){.plugin-item{flex-direction:column;gap:10px}.plugin-ops{justify-content:flex-start}.market-account-card .btn-row{margin-inline-start:0}.admin-toolbar form.inline{margin:0}}.market-other{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 14px;border-radius:var(--radius-sm);background:var(--warning-soft,var(--info-soft));color:var(--text)}.market-other svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--warning,var(--info))}.market-other p{margin:0 0 6px}.market-other-stop{background:var(--danger-soft)}.market-other-stop svg{color:var(--danger)}.market-tabs{margin-bottom:12px}.market-free{background:var(--success-soft,#dcfce7);color:var(--success,#15803d)}.market-paid{background:#fff1e6;color:#c2410c}[data-theme=dark] .market-paid{background:rgba(194,65,12,.25);color:#fdba74}.market-account{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap}.market-account svg{width:16px;height:16px}.market-account b{color:var(--text)}.market-account-card{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2)}.market-account-card>svg{width:28px;height:28px;color:var(--brand);flex:none}.market-account-card>div:first-of-type{flex:1;min-width:200px}.market-account-card .btn-row{margin-inline-start:auto}.plugin-ops small{display:block;text-align:right;margin-top:4px}.plugin-ops .btn[disabled]{opacity:.5;cursor:default}.market-foot{margin-top:14px}

/* media_embed */
/* ============================================================
   Media Embed — assets/embed.css
   Responsive video / audio / tweet embeds inside .post-content.
   All colours come from the forum's CSS variables so the plugin
   follows light / dark themes.
   ============================================================ */

.media-embed {
  margin: 16px 0;
  border-radius: var(--radius-sm, 8px);
  overflow: hidden;
  background: var(--panel-2, #f8f9fb);
  border: 1px solid var(--line-soft, #eff1f4);
}

/* ---------- Video (YouTube / Vimeo / Aparat) ---------- */
.media-embed-video {
  position: relative;
  width: 100%;
  aspect-ratio: var(--media-embed-ratio, 16 / 9);
}

.media-embed-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* ---------- Direct HTML5 video (.mp4 / .webm / .ogg / .mov / .m4v) ---------- */
.media-embed-html5 {
  position: relative;
  width: 100%;
  background: #000;
  /* No forced aspect-ratio — let the video's native dimensions
     drive the height so portrait videos don't get letterboxed
     into a 16:9 slab. The browser sizes <video> to the file's
     intrinsic ratio while still respecting the container width. */
}

.media-embed-html5 video {
  display: block;
  width: 100%;
  max-height: 80vh;            /* keep tall portrait videos sane */
  height: auto;
  background: #000;
  border: 0;
  outline: 0;
}

/* The download fallback link — visible only if the <video> tag
   itself cannot render (browser shows the inline fallback). In
   a supporting browser it stays as a tiny "Download" link under
   the player, which is genuinely useful for direct file links. */
.media-embed-html5 .media-embed-download {
  display: block;
  padding: 8px 12px;
  background: var(--panel-2, #f8f9fb);
  color: var(--brand, #2563eb);
  font-size: 0.85em;
  text-decoration: none;
  border-top: 1px solid var(--line-soft, #eff1f4);
}

.media-embed-html5 .media-embed-download:hover {
  text-decoration: underline;
}

/* The inline <a> fallback inside <video> is shown only when the
   browser cannot play the source — hide it visually otherwise
   so we don't end up with a duplicate of the download link. */
.media-embed-html5 video > a {
  display: inline-block;
  color: #fff;
  padding: 12px;
  background: #111;
}

/* ---------- Audio (SoundCloud / Spotify) ---------- */
.media-embed-audio {
  background: transparent;
  border: 0;
}

.media-embed-audio iframe {
  display: block;
  border: 0;
}

/* ---------- Twitter / X ---------- */
.media-embed-tweet {
  padding: 12px 16px;
  max-width: 550px;
}

.media-embed-tweet blockquote {
  margin: 0;
}

.media-embed-tweet a {
  color: var(--brand);
  text-decoration: none;
}

.media-embed-tweet a:hover {
  text-decoration: underline;
}

/* ---------- Small screens ---------- */
@media (max-width: 540px) {
  .media-embed {
    margin: 12px -4px;
    border-radius: var(--radius-sm, 8px);
  }

  .media-embed-tweet {
    padding: 8px 12px;
  }

  .media-embed-html5 video {
    max-height: 70vh;
  }
}

/* ---------- Print ---------- */
@media print {
  .media-embed-video,
  .media-embed-audio,
  .media-embed-html5 {
    display: none;
  }

  .media-embed-tweet {
    border: 1px solid #ccc;
  }
}


/* messages */
.page-messages .layout-main{max-width:100%}.chat{display:grid;grid-template-columns:300px 1fr;height:calc(100vh - 140px);min-height:420px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.chat-list{border-right:1px solid var(--line);overflow-y:auto}.chat-list-head{padding:12px 16px;border-bottom:1px solid var(--line)}.chat-list-head h3{margin:0}.chat-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.chat-item:hover,.chat-item.active{background:var(--bg-soft)}.chat-item-main{flex:1;min-width:0}.chat-item-top{display:flex;justify-content:space-between;gap:8px}.chat-item-top time{color:var(--text-muted);font-size:var(--font-size-xs);white-space:nowrap}.chat-item-last{color:var(--text-muted);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item.unread .chat-item-last{color:var(--text);font-weight:600}.chat-item.unread b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand);margin-left:6px;vertical-align:middle}.chat-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.chat-head-tools{margin-left:auto;display:flex;gap:6px}.chat-back{display:none;color:inherit}.chat-log{flex:1;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:4px}.chat-day{text-align:center;margin:10px 0 4px;color:var(--text-muted);font-size:var(--font-size-xs)}.chat-msg{display:flex}.chat-msg.me{justify-content:flex-end}.bubble{max-width:75%;padding:8px 12px;border-radius:18px;background:var(--bg-soft);line-height:1.4}.chat-msg.me .bubble{background:var(--brand);color:#fff}.chat-msg.me .bubble a{color:#fff;text-decoration:underline}.bubble .post-content{display:inline}.bubble .post-content p{display:inline;margin:0}.bubble .post-content p+p::before{content:"\A";white-space:pre}.bubble time{display:inline-block;font-size:10px;opacity:.7;margin-left:8px;vertical-align:bottom}.chat-input{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line);align-items:flex-end}.chat-input textarea{flex:1;resize:none;min-height:38px;max-height:140px}.chat-empty{padding:40px 20px;text-align:center}.chat-none .chat-empty{margin:auto}.messages-btn{position:relative}@media (max-width:760px){.chat{grid-template-columns:1fr;height:calc(100vh - 110px)}.chat-open .chat-list{display:none}.chat:not(.chat-open) .chat-pane{display:none}.chat-back{display:inline-flex}.bubble{max-width:88%}}

/* nsfw */
.nsfw-badge{display:inline-block;margin-inline-start:4px;padding:0 6px;border-radius:4px;background:#e0245e;color:#fff;font-size:10px;font-weight:700;letter-spacing:.3px;line-height:1.7;vertical-align:middle}.topic-title .nsfw-badge{font-size:12px;line-height:1.8;padding:0 8px}

/* pages */
.pages-page h1{margin-bottom:4px}.pages-page .post-content{margin-top:16px}.pages-page .post-content h2{margin-top:26px}.pages-page .post-content h3{margin-top:18px}

/* seo_pro */
.seo-pro-panel{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px;background:var(--panel-2)}.seo-pro-panel summary{cursor:pointer;display:flex;align-items:center;gap:6px;font-weight:600}.seo-pro-panel summary svg{width:15px;height:15px;color:var(--brand)}.seo-pro-panel[open] summary{margin-bottom:10px}.seo-pro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}.seo-pro-map{margin:0;padding-inline-start:18px;line-height:1.8}.seo-pro-tags .tag{margin:0 6px 6px 0}.seo-pro-card{max-width:520px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel)}.seo-pro-card img{display:block;width:100%;max-height:270px;object-fit:cover}.seo-pro-noimg{height:120px;display:flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--text-muted)}.seo-pro-card-body{padding:10px 12px}.seo-pro-card-body b{display:block;margin:2px 0}.seo-pro-card-body p{margin:0;color:var(--text-muted);font-size:var(--font-size-sm)}

/* share */
.share-menu .dropdown-menu{min-width:190px;inset-inline-end:auto;inset-inline-start:0}.share-menu .dropdown-menu a{text-decoration:none}.share-menu .dropdown-menu .icon{width:18px;height:18px;flex:none}.post-actions .share-menu{display:inline-block}.post-actions .share-menu .dropdown-toggle{padding:4px 8px}

/* social_login */
.social-login{margin-top:18px}.social-login-or{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--text-subtle);font-size:var(--font-size-sm)}.social-login-or::before,.social-login-or::after{content:"";flex:1;border-top:1px solid var(--line)}.social-login-btns{display:grid;gap:8px}.social-login-btn{justify-content:center;gap:9px;font-weight:550}.social-login-btn svg{width:18px;height:18px;flex:none}.social-login-list{display:grid;gap:8px;margin-bottom:6px}.social-login-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius)}.social-login-row svg{width:18px;height:18px;flex:none}.social-login-row .btn{margin-left:auto}
