/* TPS Comments RESCUE v0.2.8.23 */
.tps-comments{--tpsc-accent:var(--color-primary, var(--tps-accent,#6f3cff));--tpsc-accent-dark:color-mix(in srgb, var(--tpsc-accent) 86%, #000);--tpsc-accent-soft:color-mix(in srgb, var(--tpsc-accent) 12%, #fff);--tpsc-accent-soft2:color-mix(in srgb, var(--tpsc-accent) 22%, #fff);--tpsc-accent-ring:color-mix(in srgb, var(--tpsc-accent) 18%, transparent);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:14px;margin:14px 0;background:#fff}
.tps-comments__title{font-size:18px;font-weight:700;margin:0 0 12px}
.tps-comments__form{border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:12px;margin:0 0 14px;background:rgba(0,0,0,.015)}
.tps-comments__row{margin:0 0 10px}
.tps-comments__label{display:block;font-size:12px;opacity:.75;margin:0 0 4px}
.tps-comments__input,.tps-comments__textarea{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:10px 12px;font:inherit;outline:none}
.tps-comments__input:focus,.tps-comments__textarea:focus{border-color:rgba(0,0,0,.28)}
.tps-comments__formbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tps-comments__submit{border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;background:var(--tpsc-accent);color:#fff;transition:background .18s ease,transform .18s ease}
.tps-comments__submit{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.tps-comments__submit:hover{background:var(--tpsc-accent-dark)}
.tps-comments__submit:disabled{opacity:.6;cursor:not-allowed}

.tps-comments__btn--ok{border-color:color-mix(in srgb, var(--tpsc-accent) 35%, rgba(0,0,0,.14));color:var(--tpsc-accent);transition:background .18s ease,border-color .18s ease}
.tps-comments__btn--ok:hover{background:var(--tpsc-accent-ring);border-color:color-mix(in srgb, var(--tpsc-accent) 55%, rgba(0,0,0,.14))}

.tps-comments__spinner{width:14px;height:14px;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:tpscSpin .7s linear infinite;display:inline-block}
@keyframes tpscSpin{to{transform:rotate(360deg)}}

.tps-comments__hpinput{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;width:0;overflow:hidden}

.tps-comments__list{display:flex;flex-direction:column;gap:10px}
.tps-comments__item{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px;background:#fff}
.tps-comments__item.is-pending{border-color:rgba(255,153,0,.35);background:rgba(255,153,0,.06)}
.tps-comments__head{display:flex;gap:10px;align-items:flex-start}
.tps-comments__body{min-width:0;flex:1 1 auto}
.tps-comments__author{font-weight:700}
.tps-comments__meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tps-comments__date{font-size:12px;opacity:.75}
.tps-comments__badge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:rgba(0,0,0,.02);display:inline-flex;align-items:center;gap:6px}
.tps-comments__badge--admin{border-color:rgba(13,110,253,.35);background:#fff;color:rgba(0,0,0,.85)}
.tps-comments__badge--admin i{color:#0d6efd;font-size:12px;line-height:1}
.tps-comments__badge--user{border-color:rgba(25,135,84,.28);background:#fff;color:rgba(0,0,0,.85);padding:3px 7px}
.tps-comments__badge--user i{font-size:12px;line-height:1;color:rgba(25,135,84,.70)}
.tps-comments__badge--pending{border-color:rgba(255,153,0,.35);background:rgba(255,153,0,.10)}
.tps-comments__text{line-height:1.5;word-wrap:break-word;overflow-wrap:anywhere;margin:8px 0 0}

.tps-comments__actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.tps-comments__btn{border:1px solid rgba(0,0,0,.14);background:#fff;border-radius:10px;padding:7px 10px;cursor:pointer;font:inherit;font-size:12px;display:inline-flex;align-items:center;gap:6px}
.tps-comments__btn:hover{border-color:rgba(0,0,0,.28)}
.tps-comments__btn--danger{border-color:rgba(255,0,0,.25)}
.tps-comments__btn--ok{border-color:rgba(0,160,80,.28)}
.tps-comments__btn--like{border:0!important;background:transparent!important;box-shadow:none!important;padding:6px 8px}
.tps-comments__btn--like:hover{background:rgba(0,0,0,.03)!important}
.tps-comments__btn--like i{font-size:14px;line-height:1;color:color-mix(in srgb, var(--tpsc-accent) 88%, #000)}
.tps-comments__btn--like.is-liked{background:var(--tpsc-accent-ring)!important}
.tps-comments__btn--like.is-liked i{color:var(--tpsc-accent)}
.tps-comments__like-text{opacity:.8}
.tps-comments__like-count{font-weight:800}

.tps-comments__children{margin:10px 0 0;padding-left:14px;border-left:2px solid rgba(0,0,0,.06);display:flex;flex-direction:column;gap:10px}

.tps-comments__replybox{margin:10px 0 0}
.tps-comments__replyform{border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:10px;background:rgba(0,0,0,.01)}
.tps-comments__replybar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}

.tps-comments__debug{border:1px dashed rgba(0,0,0,.18);border-radius:12px;padding:10px;margin:0 0 12px;background:rgba(0,0,0,.02)}
.tps-comments__debug summary{cursor:pointer;font-weight:800}
.tps-comments__debugpre{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.35;max-height:420px;overflow:auto;margin:8px 0 0}
.tps-comments__debugmeta{font-size:12px;opacity:.75;margin:6px 0 0}

@media (max-width: 520px){
  .tps-comments{padding:12px}
  .tps-comments__formbar{flex-direction:column;align-items:stretch}
}


/* v0.2.3.0 additions: avatars + role colors */
.tps-comments__avatar{width:40px;flex:0 0 40px}
.tps-comments__avatar-img{width:40px;height:40px;border-radius:999px;object-fit:cover;display:block;border:1px solid rgba(0,0,0,.08)}
.tps-comments__avatar-ph{width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.08)}
.tps-comments__avatar-ph span{font-weight:800;font-size:14px;opacity:.9}

.tps-comments__authorlink--guest{color:#6c757d}
.tps-comments__authorlink--user{color:#0d6efd}
.tps-comments__authorlink--admin{color:var(--tpsc-accent)}


/* Images UI (v0.2.6.0) */
.tps-comments__attach{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 16px}
.tps-comments__file{display:none}
.tps-comments__btn--icon i{font-size:14px;line-height:1}
.tps-comments__filename{display:none;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;opacity:.8;max-width:100%;flex:1 1 100%;margin-top:6px}
.tps-comments__filename.is-on{display:flex}
.tps-comments__filename-text{word-break:break-word}
.tps-comments__unpick{border:0;background:rgba(0,0,0,.06);border-radius:10px;width:28px;height:28px;display:none;align-items:center;justify-content:center;cursor:pointer}
.tps-comments__filename.is-on .tps-comments__unpick{display:inline-flex}
.tps-comments__unpick:hover{background:var(--tpsc-accent-ring)}
.tps-comments__filename.is-uploading .tps-comments__unpick{display:none!important}
.tps-comments__progress{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.tps-comments__progress-label{font-size:12px;opacity:.75}
.tps-comments__progress-track{height:10px;border-radius:999px;background:rgba(0,0,0,.06);overflow:hidden}
.tps-comments__bar{height:100%;background:color-mix(in srgb, var(--tpsc-accent) 55%, #fff);width:0%;transition:width .25s ease}
.tps-comments__img{margin:10px 0 0}
.tps-comments__img img{width:100%;height:auto;border-radius:12px;cursor:zoom-in;display:block;border:1px solid rgba(0,0,0,.06)}


/* Attachments block (v0.2.7.5) */
.tps-comments__attachments{margin:10px 0 0;max-width:100%}
.tps-comments__attachments-title{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.tps-comments__attachments-line{height:1px;flex:1;background:rgba(0,0,0,.08)}
.tps-comments__attachments-text{font-size:12px;opacity:.7;white-space:nowrap}
.tps-comments__img{margin:0;max-width:480px;width:100%}
.tps-comments__img img{max-width:100%;width:100%;height:auto;border-radius:12px;cursor:zoom-in;display:block;border:1px solid rgba(0,0,0,.06)}

/* v0.2.8.1 additions */
.tps-comments__tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.tps-comments__tab{border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:999px;padding:6px 10px;font-size:12.5px;line-height:1.2;cursor:pointer}
.tps-comments__tab.is-active{border-color:color-mix(in srgb, var(--tpsc-accent) 55%, rgba(0,0,0,.08));box-shadow:0 0 0 3px var(--tpsc-accent-ring)}
.tps-comments__tabcount{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;border-radius:999px;background:var(--tpsc-accent-ring);color:color-mix(in srgb, var(--tpsc-accent) 82%, #000);font-weight:700;font-size:12px;padding:0 6px}

.tps-comments__pager{display:flex;gap:6px;justify-content:center;align-items:center;margin-top:10px;flex-wrap:wrap}
.tps-comments__pbtn,.tps-comments__pnum{border:1px solid rgba(0,0,0,.08);background:#fff;border-radius:10px;padding:6px 10px;font-size:13px;cursor:pointer}
.tps-comments__pbtn[disabled]{opacity:.45;cursor:not-allowed}
.tps-comments__pnum.is-active{border-color:color-mix(in srgb, var(--tpsc-accent) 55%, rgba(0,0,0,.08));box-shadow:0 0 0 3px var(--tpsc-accent-ring);font-weight:700}
.tps-comments__pdots{opacity:.6;padding:0 2px}

.tps-comments__textarea-wrap{position:relative}
.tps-comments__emoji-btn{position:absolute;top:6px;right:6px;border:1px solid rgba(0,0,0,.10);background:#fff;border-radius:10px;width:34px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.tps-comments__url-btn{position:absolute;top:6px;right:46px;border:1px solid rgba(0,0,0,.10);background:#fff;border-radius:10px;width:34px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.tps-comments__url-btn:hover{background:var(--tpsc-accent-ring)}
.tps-comments__emoji-pop{position:absolute;top:40px;right:6px;background:#fff;border:1px solid rgba(0,0,0,.10);box-shadow:0 12px 28px rgba(0,0,0,.10);border-radius:12px;padding:8px;z-index:20;min-width:246px}
.tps-comments__emoji-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}
.tps-comments__emoji-title{font-size:12px;font-weight:800;opacity:.75;line-height:1}
.tps-comments__emoji-close{border:0;background:rgba(0,0,0,.04);border-radius:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.tps-comments__emoji-close:hover{background:rgba(0,0,0,.08)}
.tps-comments__emoji-grid{display:grid;grid-template-columns:repeat(6, 1fr);gap:6px}
.tps-comments__emoji{border:0;background:rgba(0,0,0,.03);border-radius:10px;width:34px;height:34px;cursor:pointer;font-size:18px;line-height:1}
.tps-comments__emoji:hover{background:var(--tpsc-accent-ring)}

.tps-comments__link{color:var(--tpsc-accent);text-decoration:underline;text-underline-offset:2px}
.tps-comments__link:hover{color:var(--tpsc-accent-dark)}

.tps-comments__edited{margin-left:8px;font-size:12px;color:rgba(0,0,0,.55)}
.tps-comments__more{margin:8px 0 0 0;border:1px dashed rgba(0,0,0,.18);background:rgba(0,0,0,.015);border-radius:12px;padding:8px 10px;font-size:13px;cursor:pointer}
.tps-comments__more:hover{background:color-mix(in srgb, var(--tpsc-accent) 6%, #fff);border-color:color-mix(in srgb, var(--tpsc-accent) 35%, rgba(0,0,0,.18))}

.tps-comments__img{max-width:170px}
.tps-comments__img img{display:block;width:160px;max-width:100%;height:auto}

/* Subscription block (v0.2.8.12) */
.tps-comments__sub{margin:10px 0 12px;border:1px solid rgba(0,0,0,.06);background:var(--tpsc-accent-soft);border-radius:12px;padding:10px 12px}
.tps-comments__subline{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}
.tps-comments__subcheck{transform:translateY(1px)}
.tps-comments__subtext{font-size:12.5px;line-height:1.25;color:rgba(0,0,0,.78)}
.tps-comments__subbody{margin-top:8px}
.tps-comments__subhint{font-size:12px;line-height:1.35;opacity:.78;margin:0 0 8px}
.tps-comments__subrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tps-comments__subemail{max-width:360px}
.tps-comments__subsmall{font-size:11.5px;opacity:.7;margin-top:6px}

@media (max-width:480px){
  .tps-comments__emoji-grid{grid-template-columns:repeat(5, 1fr)}
  .tps-comments__img{max-width:160px}
  .tps-comments__img img{width:160px}
}


/* Internal Bootstrap-toasts fallback (v0.2.8.19) */
.tpsc-toast-container{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:1090;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;padding:0 1rem}
.tpsc-toast{pointer-events:auto;min-width:280px;max-width:min(520px, calc(100vw - 2rem));border-left:4px solid var(--tpsc-accent)}
.tpsc-toast--success{border-left-color:#198754}
.tpsc-toast--danger{border-left-color:#dc3545}
.tpsc-toast--warning{border-left-color:#ffc107}
.tpsc-toast--info{border-left-color:var(--tpsc-accent)}
.tpsc-toast .toast-header{gap:.5rem}
.tpsc-toast .toast-header i{font-size:14px;line-height:1}
.tpsc-toast .toast-body{word-break:break-word;overflow-wrap:anywhere}

/* Dynamic TPS-style toast host (created only when toast shown) */
.tpsc-tps-toast-host{
  position:fixed;
  left:50%;
  bottom:1rem;
  transform:translateX(-50%);
  z-index:1080;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  pointer-events:none;
}
.tpsc-tps-toast{ pointer-events:auto; transition:opacity .25s ease, transform .25s ease; }
.tpsc-tps-toast.is-hide{ opacity:0; transform:translateY(6px); }
