
:root {
  --bg:       #0a0a0a;
  --s0:       #0f0f0f;
  --s1:       #141414;
  --s2:       #1a1a1a;
  --s3:       #212121;
  --b0:       #1c1c1c;
  --b1:       #282828;

  --tx:       #ebebeb;
  --tx2:      #d9d7d7;
  --tx3:      #abaaaf;

  --ac:       #5b8af0;
  --ac-t:     rgba(91,138,240,.1);
  --green:    #3ecf8e;
  --red:      #e05252;
  --admin:    #e85d6a;
  --admin-glow: rgba(232,93,106,.5);
  --mod:      #4a9eff;
  --mod-bg:   rgba(74,158,255,.13);
  --yellow:   #e8a020;
  --ai:       #e8a020;
  --ai-bg:    rgba(232,160,32,.13);

  --hh: 54px;
  --nh: 56px;
  --sw: 242px;

  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  --mono: "SF Mono", ui-monospace, Consolas, monospace;

  --b2:         var(--s1);
  --b3:         var(--s3);
  --bd:         var(--b0);
  --t1:         var(--tx);
  --t2:         var(--tx2);
  --t3:         var(--tx3);
  --accent:     var(--ac);
  --accent-rgb: 91,138,240;
  --r:          8px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background: var(--bg);
  color: var(--tx);
  font-family: var(--font);
  font-size: 13.5px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }

.d-flex {
  display: flex;
}
.justify-content-center {
  justify-content: center;
}
.mb-4 {
  margin-bottom: 1.5rem;
}
.mt-4 {
  margin-top: 1.5rem;
}
.fh {
  position: sticky; top: 0; z-index: 300;
  height: var(--hh);
  background: rgba(14,14,14,.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--b0);
  display: flex; align-items: center;
  padding: 0 1.1rem; gap: .9rem;
}

.fh__logo {
  display: flex; align-items: center; gap: .55rem;
  font-size: .92rem; font-weight: 800;
  letter-spacing: .1em; text-transform: uppercase;
  flex-shrink: 0;
}

.fh__logo-mark {
  width: 26px; height: 26px;
  background: var(--ac);
  border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; font-weight: 900; color: #fff;
  letter-spacing: 0;
}

.fh__nav { display: flex; gap: .05rem; }

.fh__nav a {
  padding: .3rem .6rem;
  border-radius: 4px;
  font-size: .78rem; font-weight: 500;
  color: var(--tx2);
  transition: background .12s, color .12s;
}
.fh__nav a:hover  { background: var(--s2); color: var(--tx); }
.fh__nav a.active { color: var(--ac); }

.fh__search {
  flex: 1; max-width: 280px;
  margin-left: auto;
  position: relative;
}

.fh__search input {
  width: 100%;
  padding: .35rem .7rem .35rem 1.95rem;
  background: var(--s1);
  border: 1px solid var(--b0);
  border-radius: 5px;
  color: var(--tx); font: inherit; font-size: .78rem;
}
.fh__search input::placeholder { color: var(--tx3); }
.fh__search input:focus { outline: none; border-color: var(--ac); box-shadow: 0 0 0 2px var(--ac-t); }

.fh__search-ic {
  position: absolute; left: .6rem; top: 50%; transform: translateY(-50%);
  color: var(--tx3); pointer-events: none;
  width: 12px; height: 12px;
}

.fh__right { display: flex; align-items: center; gap: .3rem; }

.fh__icon-btn {
  position: relative; width: 32px; height: 32px;
  border-radius: 5px; display: flex; align-items: center; justify-content: center;
  color: var(--tx2); transition: background .12s, color .12s;
}
.fh__icon-btn:hover { background: var(--s2); color: var(--tx); }

.fh__badge {
  position: absolute; top: 2px; right: 2px;
  min-width: 14px; height: 14px; padding: 0 2px;
  background: var(--red); border-radius: 7px;
  font-size: .52rem; font-weight: 700; color: #fff;
  display: flex; align-items: center; justify-content: center;
}
.fh__badge--msg { background: var(--ac); }

.fh__user { position: relative; }

.fh__user-btn {
  display: flex; align-items: center; gap: .42rem;
  padding: .22rem .48rem;
  border-radius: 5px; cursor: pointer;
  transition: background .12s;
}
.fh__user-btn:hover { background: var(--s2); }

.fh__avatar {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--s3); border: 1.5px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  font-size: .65rem; font-weight: 800; color: var(--ac);
  text-transform: uppercase; flex-shrink: 0;
  overflow: hidden;
}

.fh__uname {
  font-size: .78rem; font-weight: 600;
  max-width: 84px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fh__caret { font-size: .58rem; color: var(--tx3); }

.fh__dropdown {
  display: none;
  position: absolute; top: calc(100% + 6px); right: 0;
  min-width: 152px;
  background: var(--s1);
  border: 1px solid var(--b1);
  border-radius: 6px;
  overflow: hidden; z-index: 400;
  box-shadow: 0 12px 32px rgba(0,0,0,.6);
}
.fh__user:hover .fh__dropdown,
.fh__user:focus-within .fh__dropdown { display: block; }

.fh__drop-item {
  display: flex; align-items: center; gap: .5rem;
  padding: .5rem .78rem;
  font-size: .78rem; color: var(--tx2);
  transition: background .1s, color .1s;
}
.fh__drop-item:hover { background: var(--s2); color: var(--tx); }
.fh__drop-item--danger:hover { color: var(--red); }
.fh__drop-sep { height: 1px; background: var(--b0); margin: .2rem 0; }


.f-wrap {
  max-width: 1060px;
  margin: 0 auto;
  padding: 1.2rem 1rem 2.5rem;
  display: flex; gap: 1rem;
  align-items: flex-start;
}

.f-main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .7rem; }

.f-ph {
  display: flex; align-items: center; justify-content: space-between;
  gap: .75rem; padding: 0 .1rem;
}

.f-ph__title {
  font-size: 1rem; font-weight: 700; letter-spacing: -.01em;
  color: var(--tx);
}


.btn {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .42rem .9rem;
  border-radius: 5px;
  font-size: .76rem; font-weight: 600;
  white-space: nowrap;
  transition: filter .12s, transform .07s, box-shadow .12s;
}
.btn--primary {
  background: var(--ac); color: #fff;
  box-shadow: 0 0 0 1px rgba(91,138,240,.3), 0 2px 10px rgba(91,138,240,.2);
}
.btn--primary:hover { filter: brightness(1.08); }
.btn--primary:active { transform: translateY(1px); filter: brightness(.97); }


.fg {
  border-radius: 6px;
  border: 1px solid var(--b0);
  overflow: hidden;
  background: var(--s0);
}

.fg__head {
  display: flex; align-items: center;
  gap: .5rem;
  padding: .52rem 1rem;
  background: var(--s1);
  border-bottom: 1px solid var(--b0);
}

.fg__icon {
  display: flex; align-items: center;
  color: var(--ac);
  flex-shrink: 0;
}
.fg__icon svg { width: 14px; height: 14px; }

.fg__title {
  font-size: .65rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .16em;
  color: var(--tx2);
  flex: 1;
}

.fg__count { font-size: .62rem; color: var(--tx3); font-family: var(--mono); }

.fb__stripe {
  width: 40px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: var(--tx3);
  border-right: 1px solid var(--b0);
  padding: 0 .5rem;
  align-self: stretch;
}
.fb__stripe svg,
.fb__stripe-icon svg { width: 16px; height: 16px; }
.fb:hover .fb__stripe { color: var(--ac); }


.fb {
  display: flex;
  align-items: center;
  gap: 0;
  border-bottom: 1px solid var(--b0);
  background: var(--s0);
  transition: background .1s;
  cursor: pointer;
  position: relative;
}

.fb:last-child { border-bottom: none; }

.fb::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
  background: transparent;
  transition: background .12s;
}

.fb:hover { background: var(--s2); }
.fb:hover::before { background: var(--ac); }

.fb__body {
  flex: 1; min-width: 0;
  padding: .95rem 1rem .95rem 1.1rem;
  display: flex; flex-direction: column; gap: .18rem;
}

.fb__name {
  font-size: .88rem; font-weight: 600;
  color: var(--tx); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
  display: flex; align-items: center; gap: .45rem;
  transition: color .1s;
}
.fb:hover .fb__name { color: var(--ac); }

.fb__new {
  font-size: .52rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--ac); color: #fff;
  padding: .08rem .32rem;
  border-radius: 3px;
  flex-shrink: 0;
}

.fb__desc {
  font-size: .73rem; color: var(--tx3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* istatistik bloğu */
.fb__stats {
  flex-shrink: 0; width: 118px;
  padding: .75rem .9rem;
  border-left: 1px solid var(--b0);
  display: flex; flex-direction: column;
  justify-content: center; gap: .22rem;
}

.fb__stat {
  font-size: .68rem; color: var(--tx3);
  font-family: var(--mono); white-space: nowrap;
}
.fb__stat strong { color: var(--tx2); font-weight: 700; }

/* son gönderi bloğu */
.fb__last {
  flex-shrink: 0; width: 162px;
  padding: .75rem .95rem;
  border-left: 1px solid var(--b0);
  display: flex; flex-direction: column;
  justify-content: center; gap: .2rem;
  min-width: 0;
}

.fb__last-title {
  font-size: .74rem; font-weight: 500;
  color: var(--tx2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  transition: color .1s; text-decoration: none; display: block;
}
a.fb__last-title:hover { color: var(--ac); text-decoration: underline; }
.fb:hover .fb__last-title { color: var(--ac); }
.fb__last-sub { font-size: .65rem; color: var(--tx3); white-space: nowrap; }

.fb__last-by {
  font-size: .66rem; color: var(--tx3); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}
.fb__last-by strong { color: var(--ac); font-weight: 600; }

/* ═══════════════════════════════════════════════════════════
   ALT STATS BAR
═══════════════════════════════════════════════════════════ */

.f-statsbar {
  border: 1px solid var(--b0);
  border-radius: 6px;
  background: var(--s0);
  overflow: hidden;
}

.f-statsbar__counts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.f-statsbar__item {
  padding: .9rem .8rem;
  display: flex; flex-direction: column; align-items: center; gap: .2rem;
  border-right: 1px solid var(--b0);
}
.f-statsbar__item:last-child { border-right: none; }

.f-statsbar__val {
  font-size: 1.25rem; font-weight: 800;
  font-family: var(--mono); line-height: 1; color: var(--tx);
}

.f-statsbar__lbl {
  font-size: .6rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .12em; color: var(--tx3);
}

.f-statsbar__online {
  border-top: 1px solid var(--b0);
  padding: .85rem 1rem 1rem;
}

.f-statsbar__online-title {
  font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--tx3);
  display: flex; align-items: center; gap: .45rem;
  margin-bottom: .85rem;
}

.f-statsbar__online-title::before {
  content: '';
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 6px var(--green);
  flex-shrink: 0;
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% { box-shadow: 0 0 4px var(--green); }
  50%       { box-shadow: 0 0 10px var(--green); }
}

.f-online__badge {
  background: var(--green); color: #fff;
  font-size: .58rem; font-weight: 800;
  border-radius: 20px; padding: .08rem .42rem;
  letter-spacing: 0; text-transform: none;
  line-height: 1.5;
}

.f-online__sub {
  color: var(--tx3); font-weight: 500;
  font-size: .58rem; letter-spacing: .04em;
  margin-left: auto;
}

/* ── Online üye grid ── */
.f-online-grid {
  display: flex; flex-wrap: wrap; gap: .55rem .5rem;
}

.f-omember {
  display: flex; flex-direction: column; align-items: center;
  gap: .22rem; text-decoration: none; width: 58px;
}

.f-omember__av-wrap {
  position: relative; flex-shrink: 0;
}

.f-omember__av {
  width: 42px; height: 42px; border-radius: 50%;
  overflow: hidden; background: var(--s3);
  border: 2px solid var(--br);
  transition: border-color .15s;
}
.f-omember__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.f-omember:hover .f-omember__av { border-color: var(--ac); }

.f-omember__av--admin     { border-color: var(--admin) !important; }
.f-omember__av--moderator { border-color: var(--mod) !important; }

/* Online nokta */
.f-omember__dot {
  position: absolute; bottom: 1px; right: 1px;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--tx3);
  border: 2px solid var(--s0);
}
.f-omember__dot--live {
  background: var(--green);
  box-shadow: 0 0 5px var(--green);
}

.f-omember__name {
  font-size: .63rem; font-weight: 500; color: var(--tx2);
  max-width: 56px; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; text-align: center;
  transition: color .12s;
}
.f-omember:hover .f-omember__name { color: var(--ac); }

.f-omember__role {
  font-size: .55rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .04em; border-radius: 3px;
  padding: .05rem .3rem; line-height: 1.4;
}
.f-omember__role--admin { background: rgba(224,82,82,.15); color: var(--admin); }
.f-omember__role--mod   { background: var(--mod-bg); color: var(--mod); }

/* Boş durum */
.f-online-empty {
  display: flex; align-items: center; gap: .5rem;
  color: var(--tx3); font-size: .8rem; padding: .3rem 0;
}

.f-chips { display: flex; flex-wrap: wrap; gap: .35rem; }

.f-chip {
  display: inline-flex; align-items: center; gap: 0;
  border: 1px solid var(--b0);
  border-radius: 4px;
  background: var(--s1);
  overflow: hidden;
  font-size: .72rem;
  transition: border-color .1s;
}
.f-chip:hover { border-color: var(--b1); }

.f-chip__name {
  padding: .18rem .5rem;
  color: var(--tx2);
  transition: color .1s;
}
.f-chip:hover .f-chip__name { color: var(--tx); }

.f-chip__role {
  padding: .18rem .4rem;
  border-left: 1px solid var(--b0);
  font-size: .58rem; font-family: var(--mono);
  color: var(--tx3); background: var(--s2);
}
.f-chip__role--admin { color: var(--admin); }
.f-chip__role--mod   { color: var(--yellow); }

/* ═══════════════════════════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════════════════════════ */

.f-sidebar {
  width: var(--sw); flex-shrink: 0;
  display: flex; flex-direction: column; gap: .7rem;
  position: sticky; top: calc(var(--hh) + .9rem);
}

/* profil kartı */
.f-profile-card {
  border: 1px solid var(--b0);
  border-radius: 6px;
  background: var(--s0);
  overflow: hidden;
}

.fpc__top {
  padding: .9rem;
  display: flex; align-items: center; gap: .7rem;
  border-bottom: 1px solid var(--b0);
}

.fpc__av {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--s2);
  border: 1.5px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  font-size: .9rem; font-weight: 800; color: var(--ac);
  text-transform: uppercase; flex-shrink: 0;
}

.fpc__name {
  font-size: .85rem; font-weight: 700; color: var(--tx);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fpc__role {
  font-size: .62rem; font-family: var(--mono);
  color: var(--tx3); text-transform: uppercase;
  letter-spacing: .08em; margin-top: .1rem;
}
.fpc__role--admin     { color: var(--admin); }
.fpc__role--moderator { color: var(--mod); }

.fpc__stats {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--b0);
}

.fpc__stat {
  padding: .55rem .4rem;
  text-align: center;
  border-right: 1px solid var(--b0);
}
.fpc__stat:last-child { border-right: none; }

.fpc__stat-val {
  font-size: .92rem; font-weight: 800;
  font-family: var(--mono); color: var(--tx); line-height: 1;
}
.fpc__stat-lbl {
  font-size: .58rem; text-transform: uppercase;
  letter-spacing: .08em; color: var(--tx3); margin-top: .2rem;
}

.fpc__links {}

.fpc__link {
  display: flex; align-items: center; gap: .52rem;
  padding: .5rem .9rem;
  font-size: .78rem; color: var(--tx2);
  border-bottom: 1px solid var(--b0);
  transition: background .1s, color .1s;
}
.fpc__link:last-child { border-bottom: none; }
.fpc__link:hover { background: var(--s2); color: var(--tx); }
.fpc__link--danger:hover { color: var(--red); }
.fpc__link svg { width: 13px; height: 13px; flex-shrink: 0; color: var(--tx3); }

.fpc__link-badge {
  margin-left: auto; flex-shrink: 0;
  color: #fff;
  font-size: .58rem; font-weight: 700;
  padding: .1rem .38rem; border-radius: 20px;
  background: var(--red);
}
.fpc__link-badge--msg   { background: var(--ac); }
.fpc__link-badge--notif { background: var(--red); }

.f-widget {
  border: 1px solid var(--b0);
  border-radius: 6px;
  background: var(--s0);
  overflow: hidden;
}

.f-widget__head {
  padding: .48rem .9rem;
  background: var(--s1);
  border-bottom: 1px solid var(--b0);
  font-size: .62rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .14em; color: var(--tx2);
}

.f-widget__body { padding: .2rem 0; }
.f-widget__empty { padding: .75rem 1rem; font-size: .8rem; color: var(--tx3); text-align: center; }

.f-latest-item {
  display: flex; flex-direction: row; align-items: center; gap: .65rem;
  padding: .55rem .9rem;
  border-bottom: 1px solid var(--b0);
  transition: background .1s; text-decoration: none;
}
.f-latest-item:last-child { border-bottom: none; }
.f-latest-item:hover { background: var(--s2); }

.f-latest-item__av {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
  overflow: hidden; border: 1.5px solid rgba(255,255,255,.35);
  background: var(--s3);
}
.f-latest-item__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.f-latest-item__av--admin     { border-color: var(--admin); }
.f-latest-item__av--moderator { border-color: var(--mod); }

.f-latest-item__body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: .1rem;
}

.f-latest-item__title {
  font-size: .78rem; font-weight: 500; color: var(--tx);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  transition: color .1s;
}
.f-latest-item:hover .f-latest-item__title { color: var(--ac); }

.f-latest-item__meta {
  font-size: .64rem; color: var(--tx3);
  display: flex; gap: .3rem; align-items: center;
}
.f-latest-item__user                { color: var(--ac); font-weight: 600; }
.f-latest-item__user--admin         { color: var(--admin); }
.f-latest-item__user--moderator     { color: var(--mod); }

/* ═══════════════════════════════════════════════════════════
   MOBİL NAV
═══════════════════════════════════════════════════════════ */

.f-nav {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 300;
  height: var(--nh);
  background: rgba(12,12,12,.97);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid var(--b0);
  align-items: center;
}

.f-nav__item {
  flex: 1;
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: .16rem;
  min-height: 44px; padding: .3rem .4rem;
  font-size: .56rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
  color: var(--tx3);
  transition: color .12s;
  position: relative;
}
.f-nav__item svg { width: 20px; height: 20px; }
.f-nav__item.active { color: var(--ac); }
.f-nav__item.active::before {
  content: ''; position: absolute;
  top: 0; left: 50%; transform: translateX(-50%);
  width: 18px; height: 2px;
  border-radius: 0 0 2px 2px;
  background: var(--ac);
}

.f-fab {
  display: none;
  position: fixed; bottom: calc(var(--nh) + 12px); right: .9rem; z-index: 290;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--ac); color: #fff;
  font-size: 1.4rem;
  align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(91,138,240,.38);
  transition: transform .12s;
}
.f-fab:active { transform: scale(.9); }

/* ═══════════════════════════════════════════════════════════
   GENEL CHAT (SHOUTBOX)
═══════════════════════════════════════════════════════════ */

.fchat {
  border: 1px solid var(--b0);
  border-radius: 6px;
  background: var(--s0);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.fchat__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: .5rem .9rem;
  background: var(--s1);
  border-bottom: 1px solid var(--b0);
  flex-shrink: 0;
}

.fchat__title {
  font-size: .64rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .15em; color: var(--tx2);
  display: flex; align-items: center; gap: .5rem;
}

.fchat__live {
  display: inline-flex; align-items: center; gap: .3rem;
  font-size: .58rem; color: var(--green); font-family: var(--mono);
}
.fchat__live::before {
  content: '';
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 5px var(--green);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .4; }
}

.fchat__actions { display: flex; gap: .3rem; }

.fchat__action-btn {
  width: 24px; height: 24px;
  border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  color: var(--tx3); font-size: .7rem;
  transition: background .1s, color .1s;
}
.fchat__action-btn:hover { background: var(--s2); color: var(--tx2); }

/* mesaj akışı */
.fchat__feed {
  height: 240px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  padding: .5rem 0;
  gap: 0;
}

.fchat__feed::-webkit-scrollbar { width: 4px; }
.fchat__feed::-webkit-scrollbar-thumb { background: var(--b1); border-radius: 2px; }

.fchat__msg {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  padding: .38rem .9rem;
  transition: background .08s;
}
.fchat__msg:hover { background: var(--s1); }

.fchat__av {
  width: 24px; height: 24px; border-radius: 50%; flex-shrink: 0;
  background: var(--s3); border: 1px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  font-size: .6rem; font-weight: 800; color: var(--ac);
  text-transform: uppercase; margin-top: .05rem;
}

.fchat__meta {
  display: flex; align-items: baseline; gap: .45rem;
  flex-wrap: wrap; margin-bottom: .1rem;
}

.fchat__user {
  font-size: .78rem; font-weight: 700; color: var(--ac);
  transition: color .1s; text-decoration: none;
}
.fchat__user:hover { color: var(--tx); text-decoration: underline; }

.fchat__user--admin { color: var(--admin); }
.fchat__user--mod   { color: var(--mod); }
.fchat__user--ai    { color: var(--ai); font-style: italic; }

.fchat__av--admin { background: color-mix(in srgb, var(--admin) 15%, var(--s3)); color: var(--admin); border-color: color-mix(in srgb, var(--admin) 30%, var(--b1)); }
.fchat__av--mod   { background: color-mix(in srgb, var(--mod) 15%, var(--s3));   color: var(--mod);   border-color: color-mix(in srgb, var(--mod) 30%, var(--b1)); }
.fchat__av--ai    { background: var(--ai-bg); color: var(--ai); border-color: rgba(232,160,32,.3); }
.fchat__av--mod   { background: color-mix(in srgb, var(--yellow) 15%, var(--s3)); color: var(--yellow); border-color: color-mix(in srgb, var(--yellow) 30%, var(--b1)); }
.fchat__av--photo { background: none; border-color: var(--b1); overflow: hidden; }
.fchat__av--photo img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; }

/* Kendi mesajı — sağa yasla */
.fchat__msg--own { flex-direction: row-reverse; justify-content: flex-start; }
.fchat__msg--own .fchat__meta { flex-direction: row-reverse; }
.fchat__msg--own .fchat__text { text-align: right; }

.fchat__time {
  font-size: .62rem; color: var(--tx3); font-family: var(--mono);
}

.fchat__text {
  font-size: .8rem; color: var(--tx2); line-height: 1.45;
  word-break: break-word;
}

.fchat__mention {
  color: var(--ac); font-weight: 700;
  background: rgba(91,138,240,.1);
  border-radius: 3px; padding: .05rem .25rem;
  text-decoration: none;
}
.fchat__mention:hover { text-decoration: underline; }

.fchat__msg--system {
  justify-content: center;
  padding: .25rem .9rem;
}
.fchat__sys-text {
  font-size: .65rem; color: var(--tx3);
  font-family: var(--mono);
  padding: .15rem .55rem;
  background: var(--s1);
  border: 1px solid var(--b0);
  border-radius: 10px;
}

.fchat__input-row {
  display: flex; align-items: center;
  padding: .55rem .7rem;
  border-top: 1px solid var(--b0);
  gap: .5rem;
  background: var(--s0);
  flex-shrink: 0;
}

.fchat__input-av {
  width: 26px; height: 26px; border-radius: 50%; flex-shrink: 0;
  background: var(--s2); border: 1px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  font-size: .65rem; font-weight: 800; color: var(--ac);
  overflow: hidden;
  text-transform: uppercase;
}

.fchat__input {
  flex: 1;
  background: var(--s2);
  border: 1px solid var(--b0);
  border-radius: 5px;
  padding: .4rem .65rem;
  font: inherit; font-size: .8rem;
  color: var(--tx);
  transition: border-color .12s;
}
.fchat__input::placeholder { color: var(--tx3); }
.fchat__input:focus { outline: none; border-color: var(--b1); }

.fchat__send {
  width: 30px; height: 30px;
  border-radius: 5px;
  background: var(--ac);
  display: flex; align-items: center; justify-content: center;
  color: #fff; flex-shrink: 0;
  transition: filter .12s, transform .07s;
}
.fchat__send:hover { filter: brightness(1.1); }
.fchat__send:active { transform: scale(.93); }


/* ═══════════════════════════════════════════════════════════
   HIZLI GÖZ AT
═══════════════════════════════════════════════════════════ */

.f-quick {
  border: 1px solid var(--b0);
  border-radius: 8px;
  background: var(--s0);
  overflow: hidden;
  margin-bottom: .85rem;
}

/* ── Header ── */
.f-quick__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: .65rem 1rem;
  background: linear-gradient(90deg, var(--s2) 0%, var(--s1) 100%);
  border-bottom: 1px solid var(--b0);
}

.f-quick__title {
  font-size: .78rem; font-weight: 800;
  letter-spacing: .02em; color: var(--tx);
  display: flex; align-items: center; gap: .55rem;
}
.f-quick__title em { color: var(--ac); font-style: normal; }

.f-quick__title-icon {
  width: 24px; height: 24px; border-radius: 6px; flex-shrink: 0;
  background: var(--ac-t);
  border: 1px solid rgba(91,138,240,.25);
  display: flex; align-items: center; justify-content: center;
  color: var(--ac);
}

/* ── Tabs ── */
.f-quick__tabs { display: flex; gap: .3rem; }

.f-quick__tab {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .28rem .7rem;
  border-radius: 20px;
  font-size: .67rem; font-weight: 700;
  color: var(--tx3);
  border: 1px solid transparent;
  transition: all .15s;
  cursor: pointer;
  user-select: none;
}
.f-quick__tab.active {
  background: var(--ac);
  color: #fff;
  border-color: var(--ac);
  box-shadow: 0 0 10px rgba(91,138,240,.35);
}
.f-quick__tab:hover:not(.active) {
  border-color: var(--b1);
  color: var(--tx);
}

/* ── Column headers ── */
.f-quick__colhead {
  display: grid;
  grid-template-columns: 34px 1fr 96px 72px 110px;
  padding: .3rem 1rem;
  background: var(--s1);
  border-bottom: 2px solid var(--b0);
  gap: .5rem;
}
.f-quick__colhead span {
  font-size: .59rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em;
  color: var(--tx3);
}
.f-quick__colhead span:nth-child(4) { text-align: right; }

/* ── List & empty ── */
.f-quick__list { display: flex; flex-direction: column; }

.f-quick__empty {
  padding: 2.2rem 1rem; text-align: center;
  font-size: .82rem; color: var(--tx3);
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
}
.f-quick__empty svg { opacity: .25; }

/* ── Row ── */
.f-quick__item {
  display: grid;
  grid-template-columns: 34px 1fr 96px 72px 110px;
  align-items: center;
  gap: .5rem;
  padding: .65rem 1rem;
  border-bottom: 1px solid var(--b0);
  text-decoration: none;
  transition: background .12s;
}
.f-quick__item:last-child { border-bottom: none; }
.f-quick__item:hover { background: var(--s2); }

/* ── Rank ── */
.f-quick__rank {
  font-size: .7rem; font-weight: 800; font-family: var(--mono);
  color: var(--tx3); text-align: center; flex-shrink: 0;
}
.f-quick__rank--gold   { color: var(--yellow); }
.f-quick__rank--silver { color: #b8b8b8; }
.f-quick__rank--bronze { color: #a0714a; }

/* ── Info cell ── */
.f-quick__info { min-width: 0; }

.f-quick__name {
  font-size: .82rem; font-weight: 500; color: var(--tx);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  display: block; transition: color .15s;
}
.f-quick__item:hover .f-quick__name { color: var(--ac); }

.f-quick__meta {
  display: flex; align-items: center; gap: .3rem; margin-top: .18rem;
}
.f-quick__av {
  width: 13px; height: 13px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  border: 1px solid rgba(255,255,255,.12);
}
.f-quick__av--admin     { border-color: var(--admin); }
.f-quick__av--moderator { border-color: var(--mod); }

.f-quick__aname {
  font-size: .63rem; font-weight: 600; color: var(--tx3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.f-quick__aname--admin     { color: var(--admin); }
.f-quick__aname--moderator { color: var(--mod); }

/* ── Category chip ── */
.f-quick__cat-chip {
  display: inline-flex; align-items: center; justify-content: center;
  padding: .18rem .55rem;
  border-radius: 20px;
  font-size: .61rem; font-weight: 700;
  background: var(--ac-t); color: var(--ac);
  border: 1px solid rgba(91,138,240,.2);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  max-width: 96px;
  transition: background .12s;
}
.f-quick__item:hover .f-quick__cat-chip {
  background: rgba(91,138,240,.18);
}

/* ── Numbers (yanıt + görüntülenme) ── */
.f-quick__nums {
  display: flex; flex-direction: column; align-items: flex-end; gap: .14rem;
}
.f-quick__num {
  display: flex; align-items: center; gap: .25rem;
  font-size: .63rem; font-family: var(--mono); color: var(--tx3);
}
.f-quick__num svg { opacity: .5; flex-shrink: 0; }

/* ── Last replier ── */
.f-quick__last {
  display: flex; flex-direction: column; gap: .12rem; min-width: 0;
}
.f-quick__last-user {
  display: flex; align-items: center; gap: .3rem; min-width: 0;
}
.f-quick__last-av {
  width: 18px; height: 18px; border-radius: 50%; flex-shrink: 0;
  object-fit: cover;
  border: 1px solid var(--b1);
}
.f-quick__last-av--admin     { border-color: var(--admin); }
.f-quick__last-av--moderator { border-color: var(--mod); }

.f-quick__last-name {
  font-size: .69rem; font-weight: 700; color: var(--tx3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.f-quick__last-name--admin     { color: var(--admin); }
.f-quick__last-name--moderator { color: var(--mod); }

.f-quick__last-time {
  font-size: .59rem; color: var(--tx3); font-family: var(--mono);
  padding-left: 22px;
}

/* ─ Responsive: tablet ─ */
@media (max-width: 600px) {
  .f-quick__colhead,
  .f-quick__item {
    grid-template-columns: 28px 1fr 60px 52px;
  }
  .f-quick__last,
  .f-quick__colhead span:last-child { display: none; }
}

/* ═══════════════════════════════════════════════════════════
   SICAK KONULAR
═══════════════════════════════════════════════════════════ */

.f-hot {
  border: 1px solid var(--b0);
  border-radius: 6px;
  background: var(--s0);
  overflow: hidden;
}

.f-hot__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: .5rem .9rem;
  background: var(--s1);
  border-bottom: 1px solid var(--b0);
}

.f-hot__title {
  font-size: .64rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .15em; color: var(--tx2);
  display: flex; align-items: center; gap: .45rem;
}

.f-hot__title span {
  color: var(--yellow);
}

.f-hot__tabs {
  display: flex; gap: .15rem;
}

.f-hot__tab {
  padding: .2rem .5rem;
  border-radius: 3px;
  font-size: .64rem; font-weight: 600;
  color: var(--tx3);
  transition: background .1s, color .1s;
  cursor: pointer;
}
.f-hot__tab.active { background: var(--s2); color: var(--tx2); }
.f-hot__tab:hover  { color: var(--tx2); }

.f-hot__list {
  display: flex; flex-direction: column;
}
.f-hot__empty {
  padding: 1.2rem 1rem; text-align: center;
  font-size: .82rem; color: var(--tx3);
}

.f-hot__item {
  display: flex; align-items: center; gap: .7rem;
  padding: .62rem .9rem;
  border-bottom: 1px solid var(--b0);
  transition: background .1s;
  cursor: pointer;
}
.f-hot__item:last-child { border-bottom: none; }
.f-hot__item:hover { background: var(--s2); }

.f-hot__rank {
  width: 18px; flex-shrink: 0;
  font-size: .68rem; font-weight: 800; font-family: var(--mono);
  color: var(--tx3); text-align: center;
}
.f-hot__item:nth-child(1) .f-hot__rank { color: var(--yellow); }
.f-hot__item:nth-child(2) .f-hot__rank { color: var(--tx2); }
.f-hot__item:nth-child(3) .f-hot__rank { color: #8b6534; }

.f-hot__info { flex: 1; min-width: 0; }

.f-hot__name {
  font-size: .8rem; font-weight: 500; color: var(--tx);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  transition: color .1s;
}
.f-hot__item:hover .f-hot__name { color: var(--ac); }

.f-hot__meta {
  font-size: .65rem; color: var(--tx3);
  display: flex; align-items: center; gap: .35rem; margin-top: .1rem; flex-wrap: wrap;
}
.f-hot__cat { color: var(--tx2); }

/* Yazar alanı: avatar + isim */
.f-hot__author {
  display: inline-flex; align-items: center; gap: .3rem;
}
.f-hot__av {
  width: 16px; height: 16px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  border: 1px solid rgba(255,255,255,.25);
  vertical-align: middle;
}
.f-hot__av--admin     { border-color: var(--admin); }
.f-hot__av--moderator { border-color: var(--mod); }

.f-hot__author-name                  { color: var(--tx2); font-weight: 600; }
.f-hot__author-name--admin           { color: var(--admin); }
.f-hot__author-name--moderator       { color: var(--mod); }

.f-hot__replies {
  flex-shrink: 0;
  font-size: .68rem; font-family: var(--mono);
  color: var(--tx3);
  display: flex; align-items: center; gap: .25rem;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSİVE
═══════════════════════════════════════════════════════════ */

@media (max-width: 840px) {
  .f-sidebar { display: none; }
}

@media (max-width: 660px) {
  .fh__nav { display: none; }
  .fb__stats { display: none; }
  .fb__last { width: 140px; }
  .f-statsbar__counts { grid-template-columns: repeat(2, 1fr); }
  .f-statsbar__item:nth-child(2) { border-right: none; }
  .f-nav { display: flex; }
  .f-fab { display: flex; }
  .f-wrap { padding-bottom: calc(var(--nh) + 1rem); }
}

@media (max-width: 480px) {
  .fh__search { display: none; }
  .f-wrap { padding: .7rem .7rem calc(var(--nh) + 1rem); gap: .6rem; }
  .fg { border-radius: 0; border-left: none; border-right: none; }
  .f-statsbar { border-radius: 0; border-left: none; border-right: none; }
  .fb__last { display: none; }
  .fb__body { padding: .88rem .85rem; }
}

/* ═══════════════════════════════════════════════
   PROFİL DUVARI
   ═══════════════════════════════════════════════ */

.fp-wall { margin-bottom: 1.25rem; }

.fp-wall__count { font-size: .75rem; color: var(--t3); }

/* ── Son Ziyaretçiler ── */
.fp-visitors__count { font-size: .75rem; color: var(--tx3); }
.fp-visitors__grid {
  display: flex; flex-wrap: wrap; gap: .6rem;
  padding: .75rem 1rem 1rem;
}
.fp-visitor-item {
  display: flex; flex-direction: column; align-items: center; gap: .25rem;
  text-decoration: none; width: 56px;
}
.fp-visitor-av {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700; overflow: hidden;
  background: var(--s3); color: var(--tx2);
  border: 2px solid var(--bd); transition: border-color .15s;
}
.fp-visitor-item:hover .fp-visitor-av { border-color: var(--ac); }
.fp-visitor-av--admin     { border-color: var(--admin); }
.fp-visitor-av--moderator { border-color: var(--mod); }
.fp-visitor-av img { width: 100%; height: 100%; object-fit: cover; }
.fp-visitor-name {
  font-size: .64rem; color: var(--tx2); font-weight: 500;
  max-width: 54px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center;
}
.fp-visitor-time {
  font-size: .6rem; color: var(--tx3); white-space: nowrap;
}

/* Yazma formu */
.fp-wall__form {
  display: flex;
  gap: .75rem;
  padding: .9rem 1.15rem;
  border-bottom: 1px solid var(--bd);
}

.fp-wall__form-av {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  border: 1.5px solid var(--bd);
}

.fp-wall__form-av img { width:100%; height:100%; object-fit:cover; }

.fp-wall__form-right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .45rem;
}

.fp-wall__input {
  width: 100%;
  background: var(--b3);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: .6rem .8rem;
  color: var(--t1);
  font-size: .88rem;
  font-family: inherit;
  resize: none;
  line-height: 1.5;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
}

.fp-wall__input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.13);
}

.fp-wall__form-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fp-wall__charcount {
  font-size: .73rem;
  color: var(--t3);
}

/* Mesaj akışı */
.fp-wall__feed { padding: .3rem 0; }

.fp-wall__msg {
  display: flex;
  gap: .75rem;
  padding: .75rem 1.15rem;
  border-bottom: 1px solid var(--bd);
  transition: background .12s;
}

.fp-wall__msg:last-child { border-bottom: none; }
.fp-wall__msg:hover { background: rgba(255,255,255,.02); }

.fp-wall__av {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: .7rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  text-decoration: none;
  border: 1.5px solid var(--bd);
}

.fp-wall__av img { width:100%; height:100%; object-fit:cover; }

.fp-wall__body { flex: 1; min-width: 0; }

.fp-wall__meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .25rem;
}

.fp-wall__author {
  font-size: .83rem;
  font-weight: 600;
  color: var(--t1);
  text-decoration: none;
}

.fp-wall__author:hover { color: var(--accent); text-decoration: underline; }

.fp-wall__time {
  font-size: .72rem;
  color: var(--t3);
}

.fp-wall__del-form { margin-left: auto; }

.fp-wall__del {
  background: none;
  border: none;
  color: var(--t3);
  cursor: pointer;
  padding: .15rem;
  display: flex;
  align-items: center;
  opacity: 0;
  transition: opacity .15s, color .15s;
}

.fp-wall__msg:hover .fp-wall__del { opacity: 1; }
.fp-wall__del:hover { color: var(--red); }

.fp-wall__text {
  font-size: .87rem;
  color: var(--t2);
  line-height: 1.55;
  margin: 0;
  word-break: break-word;
}

/* ═══════════════════════════════════════════════
   @MENTION SİSTEMİ
   ═══════════════════════════════════════════════ */

.mention-dropdown {
  position: absolute;
  z-index: 9999;
  width: 220px;
  background: var(--s1);
  border: 1px solid var(--b1);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,.55);
}

.mention-item {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .55rem .75rem;
  cursor: pointer;
  transition: background .12s;
}

.mention-item:hover,
.mention-item--active { background: var(--s2); }

.mention-av {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--ac);
  color: #fff;
  font-size: .62rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

.mention-av img { width:100%; height:100%; object-fit:cover; }

.mention-name {
  font-size: .85rem;
  color: var(--tx);
  font-weight: 500;
}

/* @ linkleri */
.mention-link {
  color: var(--ac);
  font-weight: 600;
  text-decoration: none;
}

.mention-link:hover { text-decoration: underline; }

/* scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--b1); border-radius: 3px; }

/* ═══════════════════════════════════════════════
   PROFİL SAYFASI
   ═══════════════════════════════════════════════ */

/* Hero bölümü */
.fp-hero {
  background: var(--b2);
  border: 1px solid var(--bd);
  border-radius: var(--r);
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.fp-hero__cover {
  height: 110px;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%);
  position: relative;
}
.fp-hero__cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 20px,
    rgba(255,255,255,.015) 20px,
    rgba(255,255,255,.015) 21px
  );
}

.fp-hero__body {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 1rem;
  padding: 0 1.4rem 1.25rem;
  align-items: start;
}

/* Bio satırı: tüm sütunları kapla */
.fp-hero__bio-row {
  grid-column: 1 / -1;
  grid-row: 2;
  padding-top: .15rem;
}

.fp-hero__av-wrap {
  position: relative;
  margin-top: -38px;
  flex-shrink: 0;
}

.fp-hero__av {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--b2);
  letter-spacing: .5px;
}

.fp-hero__av--sm {
  width: 42px;
  height: 42px;
  font-size: .95rem;
  border: 2px solid var(--bd);
}

.fp-hero__status {
  position: absolute;
  bottom: 4px;
  right: 4px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 2px solid var(--b2);
}

.fp-hero__status--online  { background: var(--green); }
.fp-hero__status--away    { background: var(--yellow); }
.fp-hero__status--offline { background: var(--tx3); }

.fp-seen-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-right: 3px;
  vertical-align: middle;
  flex-shrink: 0;
}
.fp-seen-dot--online  { background: var(--green); }
.fp-seen-dot--away    { background: var(--yellow); }
.fp-seen-dot--offline { background: var(--tx3); }

.fp-hero__info {
  flex: 1;
  min-width: 0;
  padding-top: .55rem;
}

.fp-hero__name-row {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
}

.fp-hero__name {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  color: var(--t1);
  letter-spacing: -.2px;
}
.fp-hero__name--banned { text-decoration: line-through; color: var(--tx3) !important; }
.tv-post__content.ql-editor {
  padding: 0;
}
.fp-hero__role {
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .15em .55em;
  text-align: center;
  border-radius: 4px;
}

.fp-hero__role--admin    { background: rgba(232,93,106,.15); color: var(--admin); }
.fp-hero__role--moderator { background: var(--mod-bg); color: var(--mod); }
.fp-hero__role--user,
.fp-hero__role--member   { background: rgba(235,235,235,.08); color: var(--tx2); }
.fp-hero__role--ai       { background: var(--ai-bg); color: var(--ai); }

.fp-hero__meta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: .35rem;
  color: var(--t3);
  font-size: .78rem;
}

.fp-hero__meta span {
  display: flex;
  align-items: center;
  gap: .3rem;
}

.fp-hero__bio {
  margin: .75rem 0 0;
  padding: .65rem .9rem;
  background: rgba(var(--accent-rgb), .07);
  border-left: 3px solid var(--accent);
  border-radius: 0 6px 6px 0;
  font-size: .88rem;
  font-style: italic;
  color: var(--t1);
  line-height: 1.6;
  max-width: 520px;
}

.fp-hero__bio-q {
  font-size: 1.1em;
  color: var(--accent);
  font-style: normal;
  font-weight: 700;
  line-height: 0;
  vertical-align: -2px;
  margin: 0 1px;
}

.fp-hero__bio-empty {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: .6rem;
  font-size: .78rem;
  color: var(--t3);
  text-decoration: none;
  border: 1px dashed var(--bd);
  padding: .3rem .65rem;
  border-radius: 6px;
  transition: color .15s, border-color .15s;
}

.fp-hero__bio-empty:hover { color: var(--accent); border-color: var(--accent); }

.fp-hero__actions {
  display: flex;
  gap: .5rem;
  flex-shrink: 0;
  padding-top: .55rem;
}

/* Sayaç şeridi */
.fp-hero__counts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--bd);
}

.fp-count {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: .8rem .5rem;
  border-right: 1px solid var(--bd);
  gap: .18rem;
}

.fp-count:last-child { border-right: none; }

.fp-count__val {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--t1);
}

.fp-count__lbl {
  font-size: .7rem;
  color: var(--t3);
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* İçerik ızgarası */
.fp-grid {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 1.25rem;
  align-items: start;
}

.fp-col { display: flex; flex-direction: column; gap: 1.1rem; }
.fp-col--sm { }

.fp-card {
  background: var(--b2);
  border: 1px solid var(--bd);
  border-radius: var(--r);
  overflow: hidden;
}

.fp-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .85rem 1.15rem;
  border-bottom: 1px solid var(--bd);
}

.fp-card__title {
  font-size: .8rem;
  font-weight: 600;
  color: var(--t2);
  text-transform: uppercase;
  letter-spacing: .07em;
}

.fp-card__more {
  font-size: .75rem;
  color: var(--accent);
  text-decoration: none;
}

.fp-card__more:hover { text-decoration: underline; }

.fp-card__body { padding: 1rem 1.15rem; }
.fp-card__body--flush { padding: 0; }

.fp-row {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .7rem 1.15rem;
  border-bottom: 1px solid var(--bd);
  text-decoration: none;
  transition: background .15s;
}

.fp-row:last-child { border-bottom: none; }
.fp-row:hover { background: var(--b3); }

.fp-row__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .18rem; }
.fp-row__title { font-size: .87rem; color: var(--t1); font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fp-row__preview { font-size: .77rem; color: var(--t3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fp-row__meta { font-size: .72rem; color: var(--t3); }
.fp-row__ic { color: var(--t3); flex-shrink: 0; }

.fp-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
  padding: 2.2rem 1rem;
  color: var(--t3);
  font-size: .82rem;
}

.fp-empty svg { opacity: .35; }

.fp-dl { display: flex; flex-direction: column; gap: 0; }

.fp-dl__row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .65rem 0;
  border-bottom: 1px solid var(--bd);
  font-size: .83rem;
}

.fp-dl__row:last-child { border-bottom: none; }

.fp-dl__row dt {
  color: var(--t3);
  flex-shrink: 0;
  width: 110px;
}

.fp-dl__row dd {
  color: var(--t1);
  text-align: right;
  margin: 0;
}

.fp-badge {
  font-size: .68rem;
  font-weight: 600;
  padding: .15em .5em;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.fp-badge--admin     { background: rgba(232,93,106,.15); color: var(--admin); }
.fp-badge--moderator { background: var(--mod-bg); color: var(--mod); }
.fp-badge--user,
.fp-badge--member    { background: rgba(235,235,235,.08); color: var(--tx2); }
.fp-badge--ai        { background: var(--ai-bg); color: var(--ai); }

.fp-quick {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .75rem 1.15rem;
  border-bottom: 1px solid var(--bd);
  text-decoration: none;
  color: var(--t2);
  font-size: .85rem;
  transition: background .15s, color .15s;
}

.fp-quick:last-child { border-bottom: none; }
.fp-quick:hover { background: var(--b3); color: var(--t1); }

.btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem 1rem;
  border-radius: 6px;
  font-size: .82rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: background .15s, opacity .15s;
}

.btn--accent   { background: var(--accent); color: #fff; }
.btn--accent:hover { opacity: .88; }
.btn--ghost    { background: transparent; color: var(--t2); border: 1px solid var(--bd); }
.btn--ghost:hover { background: var(--b3); color: var(--t1); }

.fps-page { padding-top: 1.5rem; }

.fps-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 1.5rem;
  align-items: start;
  width: 100%;
}

.fps-nav {
  background: var(--b2);
  border: 1px solid var(--bd);
  border-radius: var(--r);
  overflow: hidden;
  position: sticky;
  top: calc(var(--hh) + 1rem);
}

.fps-nav__user {
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: 1.1rem 1rem;
  border-bottom: 1px solid var(--bd);
}

.fps-nav__av {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid var(--bd);
}

.fps-nav__av img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fps-nav__uinfo {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  min-width: 0;
}

.fps-nav__uinfo strong {
  font-size: .9rem;
  color: var(--t1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fps-nav__links {
  display: flex;
  flex-direction: column;
  padding: .4rem 0;
}

.fps-nav__item {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .7rem 1rem;
  font-size: .88rem;
  color: var(--t2);
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  text-decoration: none;
  transition: background .14s, color .14s;
  border-left: 3px solid transparent;
  width: 100%;
}

.fps-nav__item:hover { background: var(--b3); color: var(--t1); }
.fps-nav__item--active { color: var(--accent); border-left-color: var(--accent); background: rgba(var(--accent-rgb),.06); }
.fps-nav__item--link { color: var(--t3); margin-top: .2rem; border-top: 1px solid var(--bd); }
.fps-nav__item--link:hover { color: var(--t1); }

.fps-content {
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.fps-alert {
  padding: .85rem 1.1rem;
  border-radius: 8px;
  font-size: .85rem;
  font-weight: 500;
}

.fps-alert--ok  { background: rgba(34,197,94,.1);  color: #4ade80; border: 1px solid rgba(34,197,94,.22); }
.fps-alert--err { background: rgba(220,53,69,.1);  color: #f87171; border: 1px solid rgba(220,53,69,.22); }

.fps-nav__item--recovery { color: var(--yellow) !important; }
.fps-nav__item--recovery svg { stroke: var(--yellow); }

.fps-rk-header {
  display: flex; align-items: center; gap: 1rem;
  padding: 1.1rem 1.4rem;
  background: var(--s1);
  border: 1px solid var(--b0);
  border-radius: 8px 8px 0 0;
  border-bottom: none;
}
.fps-rk-header__icon {
  width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
  background: rgba(91,138,240,.1);
  border: 1px solid rgba(91,138,240,.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--ac);
}

.fps-rk-warn {
  display: flex; gap: 1rem; align-items: flex-start;
  padding: 1rem 1.4rem;
  background: rgba(232,160,32,.055);
  border: 1px solid rgba(232,160,32,.2);
  border-top: none; border-bottom: none;
}
.fps-rk-warn__icon {
  flex-shrink: 0; color: var(--yellow); margin-top: .15rem;
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(232,160,32,.1);
  border: 1px solid rgba(232,160,32,.2);
  display: flex; align-items: center; justify-content: center;
}
.fps-rk-warn__body { font-size: .82rem; line-height: 1.65; }
.fps-rk-warn__body strong {
  display: block; font-size: .65rem; letter-spacing: .14em;
  text-transform: uppercase; margin-bottom: .35rem;
  color: var(--yellow);
}
.fps-rk-warn__body em { font-style: normal; font-weight: 700; color: var(--yellow); }
.fps-rk-warn__body p  { margin: 0; color: #b8963c; }

.fps-rk-card {
  background: var(--s0);
  border: 1px solid var(--b0);
  border-radius: 0 0 8px 8px;
  padding: 1.5rem 1.4rem 1.25rem;
  position: relative; overflow: hidden;
}
.fps-rk-card::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% -10%, rgba(232,160,32,.06) 0%, transparent 65%);
  pointer-events: none;
}

.fps-rk-card__top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.2rem;
}
.fps-rk-card__lbl {
  display: flex; align-items: center; gap: .4rem;
  font-size: .61rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .14em; color: var(--tx3);
}
.fps-rk-card__lbl svg { opacity: .55; }

.fps-rk-card__copy {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .3rem .75rem; border-radius: 5px;
  font-size: .68rem; font-weight: 700;
  background: var(--s2); color: var(--tx3);
  border: 1px solid var(--b1);
  cursor: pointer; transition: all .15s;
}
.fps-rk-card__copy:hover { background: var(--s3); color: var(--tx); }
.fps-rk-card__copy--ok   {
  background: rgba(62,207,142,.1) !important;
  color: var(--green) !important;
  border-color: rgba(62,207,142,.3) !important;
}

.fps-rk-slots {
  display: flex; align-items: center; gap: .45rem;
  flex-wrap: wrap;
}
.fps-rk-group { display: flex; gap: .2rem; }
.fps-rk-sep {
  font-size: 1.5rem; color: var(--b1); font-weight: 200;
  align-self: center; margin: 0 .05rem; line-height: 1;
}

.fps-rk-digit {
  width: 2rem; height: 2.8rem;
  background: var(--s2); border: 1px solid var(--b1);
  border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
  transition: border-color .2s, background .2s;
}
.fps-rk-digit__val {
  font-family: var(--mono); font-size: 1.25rem; font-weight: 800;
  color: var(--tx3); display: block; line-height: 1;
  transition: color .1s;
}
.fps-rk-digit--rolling {
  border-color: rgba(91,138,240,.45);
  background: rgba(91,138,240,.06);
}
.fps-rk-digit--rolling .fps-rk-digit__val {
  color: var(--ac);
  animation: rk-spin .06s linear infinite;
}
.fps-rk-digit--done {
  border-color: rgba(232,160,32,.4);
  background: rgba(232,160,32,.06);
}
.fps-rk-digit--done .fps-rk-digit__val { color: var(--yellow); }

@keyframes rk-spin {
  0%  { opacity: 1;   transform: translateY(0)   scaleY(1);    }
  50% { opacity: .25; transform: translateY(3px)  scaleY(.7);  }
  100%{ opacity: 1;   transform: translateY(0)   scaleY(1);    }
}

.fps-rk-card__hint {
  margin-top: 1.1rem;
  font-size: .72rem; color: var(--tx3); line-height: 1.55;
  padding: .6rem .85rem;
  background: var(--s1); border-radius: 5px;
  border-left: 2px solid rgba(91,138,240,.4);
}

.fps-rk-empty {
  text-align: center; padding: 2.8rem 1rem;
  color: var(--tx3); font-size: .83rem;
  display: flex; flex-direction: column; align-items: center; gap: .55rem;
  background: var(--s0);
  border: 1px dashed var(--b1);
  border-top: none; border-radius: 0 0 8px 8px;
  margin-bottom: 1.25rem;
}
.fps-rk-empty__icon {
  width: 52px; height: 52px; border-radius: 14px;
  background: var(--s2); border: 1px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  color: var(--tx3); opacity: .45; margin-bottom: .3rem;
}

.fps-rk-regen { display: flex; align-items: center; gap: .85rem; flex-wrap: wrap; }
.fps-rk-regen__note {
  display: flex; align-items: flex-start; gap: .45rem;
  font-size: .77rem; color: var(--tx3); flex: 1; min-width: 180px;
  padding: .6rem .9rem;
  background: rgba(220,53,69,.05); border-left: 2px solid rgba(220,53,69,.25);
  border-radius: 3px; line-height: 1.55;
}
.fps-rk-regen__note strong { color: var(--red); }
.fps-rk-regen__btn {
  display: inline-flex; align-items: center; gap: .45rem;
  padding: .6rem 1.2rem; border-radius: 7px;
  font-size: .78rem; font-weight: 700;
  background: rgba(232,160,32,.1); color: var(--yellow);
  border: 1px solid rgba(232,160,32,.25);
  cursor: pointer; transition: all .15s; white-space: nowrap;
}
.fps-rk-regen__btn:hover {
  background: rgba(232,160,32,.2);
  border-color: rgba(232,160,32,.5);
  box-shadow: 0 0 14px rgba(232,160,32,.12);
}

.fps-section {
  display: none;
  background: var(--b2);
  border: 1px solid var(--bd);
  border-radius: var(--r);
  overflow: hidden;
}

.fps-section--active { display: block; }

.fps-section__head {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--bd);
}

.fps-section__title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--t1);
  margin: 0 0 .2rem;
}

.fps-section__sub {
  font-size: .82rem;
  color: var(--t3);
  margin: 0;
}

.fps-section form {
  padding: 1.5rem;
}
#tabRecovery form { padding: 0; }

.fps-field {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin-bottom: 1.25rem;
}

.fps-field--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

.fps-field--half > div {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.fps-label {
  font-size: .77rem;
  font-weight: 600;
  color: var(--t2);
  text-transform: uppercase;
  letter-spacing: .07em;
}

.fps-input {
  width: 100%;
  background: var(--b3);
  border: 1px solid var(--bd);
  border-radius: 8px;
  padding: .7rem .9rem;
  color: var(--t1);
  font-size: .9rem;
  font-family: inherit;
  transition: border-color .15s, box-shadow .15s;
  box-sizing: border-box;
  min-height: 44px;
}

.fps-input:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.14);
}

.fps-input--ta {
  resize: vertical;
  min-height: 110px;
  line-height: 1.55;
}

.fps-hint { font-size: .75rem; color: var(--t3); }
.fps-hint--count { text-align: right; }

.fps-pw-wrap { position: relative; }
.fps-pw-wrap .fps-input { padding-right: 2.6rem; }

.fps-eye {
  position: absolute;
  right: .65rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--t3);
  cursor: pointer;
  padding: .25rem;
  display: flex;
  align-items: center;
}

.fps-eye:hover { color: var(--t1); }

.fps-actions {
  padding-top: .5rem;
  display: flex;
  gap: .75rem;
}

.fps-av-row {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  padding: .85rem 1rem;
  background: var(--b3);
  border: 1px solid var(--bd);
  border-radius: 10px;
}

.fps-av-preview {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid var(--bd);
}

.fps-av-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fps-av-right {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.fps-av-btn { cursor: pointer; }

.fps-av-remove {
  background: none;
  border: none;
  color: var(--red);
  font-size: .75rem;
  cursor: pointer;
  padding: 0;
  text-align: left;
  font-family: inherit;
}

.fps-av-remove:hover { text-decoration: underline; }

@media (max-width: 840px) {
  .fp-grid { grid-template-columns: 1fr; }
  .fp-col--sm { order: -1; }
  .fp-hero__actions { margin-left: 0; }

  .fps-layout { grid-template-columns: 1fr; }
  .fps-nav {
    position: static;
    display: flex;
    flex-direction: row;
    align-items: center;
    overflow-x: auto;
  }
  .fps-nav__user { border-bottom: none; border-right: 1px solid var(--bd); flex-shrink: 0; }
  .fps-nav__links { flex-direction: row; padding: 0; flex: 1; }
  .fps-nav__item { border-left: none; border-bottom: 3px solid transparent; padding: .8rem .9rem; white-space: nowrap; }
  .fps-nav__item--active { border-bottom-color: var(--accent); border-left-color: transparent; background: none; }
  .fps-nav__item--link { border-top: none; border-left: 1px solid var(--bd); margin-top: 0; }
  .fps-field--half { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  /* ── Header ── */
  .fh__uname { max-width: 68px; }

  /* ── Profil hero ── */
  .fp-hero__cover { height: 72px; }
  .fp-hero__body { column-gap: .65rem; padding: 0 .9rem .9rem; }
  .fp-hero__av { width: 58px; height: 58px; font-size: 1.1rem; border-width: 2.5px; }
  .fp-hero__av-wrap { margin-top: -29px; }
  .fp-hero__info { padding-top: .3rem; }
  .fp-hero__actions { padding-top: .3rem; }
  .fp-hero__name { font-size: 1rem; }
  .fp-hero__bio { max-width: 100%; margin-top: .5rem; font-size: .82rem; padding: .5rem .75rem; }
  .fp-hero__meta { gap: .3rem; flex-wrap: wrap; }
  .fp-hero__meta span { font-size: .72rem; }

  /* Counts: 2 sütun */
  .fp-hero__counts { grid-template-columns: repeat(2, 1fr); }
  .fp-count:nth-child(2) { border-right: none; }
  .fp-count:nth-child(3) { border-right: 1px solid var(--bd); border-top: 1px solid var(--bd); }
  .fp-count:nth-child(4) { border-top: 1px solid var(--bd); }

  /* Buton küçült */
  .btn { font-size: .75rem; padding: .4rem .7rem; }

  /* Ayarlar */
  .fps-nav__av, .fps-nav__uinfo { display: none; }
  .fps-nav__user { display: none; }
  .fps-section form { padding: 1rem; }
}

/* ════════════════════════════════════════════
   Duvar mesajı silme — onay modali
════════════════════════════════════════════ */
.wdm-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0,0,0,.65);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: wdm-fade-in .15s ease;
}
.wdm-overlay[hidden] { display: none; }

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

.wdm-box {
  background: var(--s2);
  border: 1px solid var(--bd);
  border-radius: 14px;
  padding: 2rem 2rem 1.6rem;
  max-width: 360px;
  width: 100%;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0,0,0,.5);
  animation: wdm-pop-in .18s cubic-bezier(.34,1.56,.64,1);
}

@keyframes wdm-pop-in {
  from { transform: scale(.88); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}

.wdm-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255,80,80,.12);
  border: 1px solid rgba(255,80,80,.25);
  color: var(--red, #f05);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.1rem;
}

.wdm-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--tx);
  margin: 0 0 .5rem;
}

.wdm-desc {
  font-size: .85rem;
  color: var(--tx2);
  line-height: 1.6;
  margin: 0 0 1.5rem;
}

.wdm-sub {
  display: block;
  font-size: .78rem;
  color: var(--tx3);
  margin-top: .35rem;
}

.wdm-actions {
  display: flex;
  gap: .6rem;
}

.wdm-btn {
  flex: 1;
  padding: .6rem 1rem;
  border-radius: 8px;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  transition: filter .15s, transform .1s;
}
.wdm-btn:active { transform: scale(.97); }

.wdm-btn--cancel {
  background: var(--s3);
  border-color: var(--bd);
  color: var(--tx2);
}
.wdm-btn--cancel:hover { filter: brightness(1.15); }

.wdm-btn--confirm {
  background: var(--red, #e53e3e);
  color: #fff;
}
.wdm-btn--confirm:hover { filter: brightness(1.1); }

.fp-wall__badge {
  display: inline-block;
  padding: .15rem .5rem;
  border-radius: 4px;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.fp-wall__badge--del {
  background: rgba(255,80,80,.12);
  border: 1px solid rgba(255,80,80,.25);
  color: var(--red, #f05);
}

.fp-wall__msg--deleted {
  opacity: .5;
}
.fp-wall__msg--deleted .fp-wall__av {
  filter: grayscale(1);
}
.fp-wall__text--deleted {
  color: var(--tx3);
  font-style: italic;
}

/* ════════════════════════════════════════════
   Konu oluşturma / görüntüleme — ortak
════════════════════════════════════════════ */
.f-wrap--narrow .f-main { max-width: 860px; }

.tc-breadcrumb {
  display: flex; align-items: center; gap: .4rem;
  font-size: .8rem; color: var(--tx3);
  margin-bottom: 1.25rem;
  flex-wrap: wrap;
}
.tc-breadcrumb a { color: var(--tx2); transition: color .15s; }
.tc-breadcrumb a:hover { color: var(--ac); }

/* ── Butonlar ── */
.tc-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .5rem 1rem; border-radius: 7px;
  font-size: .83rem; font-weight: 600;
  cursor: pointer; border: 1px solid transparent;
  transition: filter .15s, transform .1s; line-height: 1;
}
.tc-btn:active { transform: scale(.97); }
.tc-btn--ac    { background: var(--ac); color: #fff; }
.tc-btn--ac:hover { filter: brightness(1.1); }
.tc-btn--ghost { background: var(--s3); border-color: var(--bd); color: var(--tx2); }
.tc-btn--ghost:hover { background: var(--s2); color: var(--tx); }
.tc-btn--lock { background: var(--s3); border-color: var(--bd); color: var(--tx2); }
.tc-btn--lock:hover { background: rgba(232,93,106,.1); border-color: var(--admin); color: var(--admin); }
.tc-btn--lock--active { background: rgba(232,93,106,.12); border-color: var(--admin); color: var(--admin); }
.tc-btn--lock--active:hover { background: rgba(232,93,106,.2); }

/* Yaz / Önizle sekmeleri */
.tc-editor-tabs {
  display: flex; align-items: center; gap: .3rem;
  margin-bottom: .4rem;
}
.tc-tab {
  display: flex; align-items: center; gap: .35rem;
  padding: .3rem .75rem; border-radius: 6px; font-size: .78rem; font-weight: 600;
  border: 1px solid var(--bd); background: transparent; color: var(--tx3);
  cursor: pointer; transition: background .12s, color .12s;
}
.tc-tab:hover { background: var(--s3); color: var(--tx2); }
.tc-tab--active { background: var(--s2); color: var(--tx); border-color: var(--ac); }
.tc-editor-hint { font-size: .73rem; color: var(--tx3); margin-left: auto; }
.tc-preview {
  min-height: 200px; background: var(--s3);
  border: 1px solid var(--bd); border-radius: 7px;
  padding: .85rem 1rem;
}

.tc-alert {
  display: flex; align-items: center; gap: .5rem;
  padding: .65rem .9rem; border-radius: 7px;
  font-size: .85rem; font-weight: 500;
  margin-bottom: 1rem; border: 1px solid;
}
.tc-alert--err { background: rgba(240,82,82,.1); border-color: rgba(240,82,82,.3); color: #f05252; }
.tc-alert--ok  { background: rgba(54,211,153,.1); border-color: rgba(54,211,153,.3); color: #36d399; }

.tc-card {
  background: var(--s1);
  border: 1px solid var(--bd);
  border-radius: 12px; overflow: hidden;
}
.tc-card__head {
  display: flex; align-items: center; gap: .55rem;
  padding: .9rem 1.2rem;
  border-bottom: 1px solid var(--bd);
  font-size: .9rem; font-weight: 700; color: var(--tx);
}
.tc-card__body { padding: 1.5rem 1.4rem; }

.tc-field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1.25rem; }
.tc-label { font-size: .82rem; font-weight: 600; color: var(--tx2); }
.tc-req   { color: var(--red, #f05252); }
.tc-field__hint { font-size: .73rem; color: var(--tx3); }

.tc-input,
.tc-select {
  background: var(--s3); border: 1px solid var(--bd);
  border-radius: 7px; padding: .6rem .85rem;
  color: var(--tx); outline: none; width: 100%;
  transition: border-color .15s, box-shadow .15s;
}
.tc-input:focus,
.tc-select:focus { border-color: var(--ac); box-shadow: 0 0 0 3px rgba(91,138,240,.15); }
.tc-select {
  appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8da0' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .75rem center; padding-right: 2rem;
}
.tc-select optgroup { color: var(--tx3); font-size: .78rem; font-weight: 700; }
.tc-select option   { color: var(--tx); background: var(--s3); }

.tc-form-foot {
  display: flex; justify-content: flex-end; gap: .6rem;
  padding-top: 1rem; border-top: 1px solid var(--bd); margin-top: 1rem;
}

.ql-toolbar.ql-snow {
  background: var(--s2);
  border: 1px solid var(--bd) !important;
  border-bottom: none !important;
  border-radius: 7px 7px 0 0;
}
.ql-container.ql-snow {
  background: var(--s3);
  border: 1px solid var(--bd) !important;
  border-radius: 0 0 7px 7px;
  min-height: 200px;
  font-size: .9rem;
  font-family: inherit;
}
.ql-editor { min-height: 200px; color: var(--tx); line-height: 1.7; }
.ql-editor.ql-blank::before { color: var(--tx3); font-style: normal; }

.ql-snow .ql-stroke          { stroke: var(--tx2); }
.ql-snow .ql-fill            { fill: var(--tx2); }
.ql-snow .ql-picker-label    { color: var(--tx2); }
.ql-snow .ql-picker-options  { background: var(--s2); border-color: var(--bd); }
.ql-snow .ql-picker-item     { color: var(--tx2); }
.ql-snow .ql-picker-item:hover { color: var(--ac); }
.ql-toolbar.ql-snow button:hover .ql-stroke { stroke: var(--ac); }
.ql-toolbar.ql-snow button:hover .ql-fill   { fill: var(--ac); }
.ql-toolbar.ql-snow .ql-active .ql-stroke   { stroke: var(--ac); }
.ql-toolbar.ql-snow .ql-active .ql-fill     { fill: var(--ac); }

.ql-editor h2      { font-size: 1.2rem; font-weight: 700; margin: 1rem 0 .4rem; color: var(--tx); }
.ql-editor h3      { font-size: 1rem;   font-weight: 700; margin: .8rem 0 .3rem; color: var(--tx); }
.ql-editor p       { margin: .3rem 0; }
.ql-editor a       { color: var(--ac); }
.ql-editor blockquote {
  border-left: 3px solid var(--ac);
  padding: .5rem 1rem; margin: .6rem 0;
  background: rgba(91,138,240,.07);
  border-radius: 0 7px 7px 0;
  color: var(--tx2);
}
.ql-editor pre.ql-syntax,
.tv-post__content pre.ql-syntax {
  background: var(--s0) !important;
  border: 1px solid var(--bd);
  border-radius: 7px; padding: 1rem !important;
  font-size: .82rem !important;
  color: #a9dc76;
  overflow-x: auto;
  white-space: pre;
  font-family: 'Consolas', 'Fira Mono', monospace;
}
.ql-editor img { max-width: 100%; border-radius: 7px; margin: .5rem 0; }
.ql-editor ul,
.ql-editor ol  { padding-left: 1.5rem; }
.ql-editor li  { margin: .2rem 0; }
.ql-editor .ql-align-center, .tv-post__content .ql-align-center { text-align: center; }
.ql-editor .ql-align-right,  .tv-post__content .ql-align-right  { text-align: right; }
.ql-editor .ql-align-justify,.tv-post__content .ql-align-justify { text-align: justify; }

.tv-head {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap;
}
.tv-head__left { flex: 1; display: flex; flex-direction: column; gap: .3rem; }
.tv-head__icon { color: var(--ac); }
.tv-head__icon svg { width: 18px; height: 18px; }
.tv-head__desc { font-size: .82rem; color: var(--tx3); }

.tv-title {
  font-size: 1.25rem; font-weight: 800;
  color: var(--tx); line-height: 1.3; letter-spacing: -.02em;
}

.tv-badge {
  display: inline-flex; align-items: center; gap: .3rem;
  padding: .15rem .55rem; border-radius: 5px;
  font-size: .7rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
  margin-bottom: .25rem;
}
.tv-badge--pin  { background: rgba(91,138,240,.15); color: var(--ac); border: 1px solid rgba(91,138,240,.3); }
.tv-badge--lock { background: rgba(245,158,11,.15);  color: #f59e0b; border: 1px solid rgba(245,158,11,.3); }

.tv-post {
  display: flex; gap: 0;
  background: var(--s1); border: 1px solid var(--bd);
  border-radius: 10px; 
  margin-bottom: -10px;
  overflow: hidden;
}
.tv-post--op { border-color: rgba(91,138,240,.3); border-radius: 10px 10px 0 0; }
.tv-like-bar + .tv-replies-head { margin-top: .25rem; }
.reply-post {
  margin-bottom: 10px;
}
.tv-post__sidebar {
  width: 140px; flex-shrink: 0;
  padding: 1.25rem 1rem;
  border-right: 1px solid var(--bd);
  display: flex; flex-direction: column; align-items: center; gap: .55rem;
  background: var(--s2);
}
.tv-post__av {
  width: 48px; height: 48px; border-radius: 50%;
  background: linear-gradient(135deg, var(--ac), #a855f7);
  overflow: hidden; display: flex; align-items: center;
  justify-content: center; font-size: .85rem; font-weight: 700;
  color: #fff; flex-shrink: 0; text-decoration: none;
}
.tv-post__av--sm { width: 38px; height: 38px; font-size: .72rem; }
.tv-post__av img { width: 100%; height: 100%; object-fit: cover; }

.tv-post__uname {
  font-size: .78rem; font-weight: 700; text-align: center;
  word-break: break-word;
}
.tv-post__uname--admin     { color: var(--admin); }
.tv-post__uname--moderator { color: var(--mod); }
.tv-post__uname--member,
.tv-post__uname--user      { color: var(--tx2); }
.tv-post__uname--ai        { color: var(--ai); }
.tv-post__uname:hover { opacity: .8; }

.tv-post__role {
  font-size: .65rem; color: var(--tx3);
  text-transform: capitalize; text-align: center;
}
.tv-post__role--admin     { color: var(--admin); }
.tv-post__role--moderator { color: var(--mod); }
.tv-post__role--ai        { color: var(--ai); }
.tv-post__stats {
  margin-top: .55rem; border-top: 1px solid var(--bd); padding-top: .45rem;
  display: flex; flex-direction: column; gap: 0; width: 100%;
}
.tv-post__stat {
  display: flex; justify-content: space-between; align-items: center;
  padding: .23rem 0;
}
.tv-post__stat + .tv-post__stat { border-top: 1px solid rgba(255,255,255,.04); }
.tv-post__stat-lbl { font-size: .66rem; color: var(--tx3); text-transform: uppercase; letter-spacing: .04em; }
.tv-post__stat-val { font-size: .76rem; font-weight: 600; color: var(--tx2); }

.tv-like-bar {
  display: flex; align-items: center; gap: .6rem;
  padding: .45rem 1rem .5rem 1.1rem;
  background: rgba(0,0,0,.12);
  border: 1px solid var(--bd); border-top: none;
  border-radius: 0 0 10px 10px;
  margin-bottom: .75rem; flex-wrap: wrap;
}
.tv-like-btn {
  display: flex; align-items: center; gap: .35rem;
  padding: .26rem .65rem; border-radius: 6px;
  border: 1px solid rgba(255,255,255,.1); background: transparent;
  color: var(--tx3); font-size: .78rem; font-weight: 500;
  cursor: pointer; transition: all .15s; flex-shrink: 0;
}
.tv-like-btn:hover  { border-color: rgba(244,63,94,.4); color: #f43f5e; background: rgba(244,63,94,.07); }
.tv-like-btn--active { border-color: rgba(244,63,94,.35); color: #f43f5e; background: rgba(244,63,94,.08); }
.tv-like-num { font-size: .72rem; font-weight: 600; color: inherit; }
.tv-like-label { font-size: .78rem; color: var(--tx3); line-height: 1.6; }
.tv-like-label strong { color: var(--tx2); }
.tv-like-more { color: var(--ac); font-weight: 500; text-decoration: none; }
.tv-like-more:hover { text-decoration: underline; }

.tv-like-row {
  display: flex; align-items: center; gap: .5rem;
  padding: .42rem 0 0; margin-top: .65rem;
  border-top: 1px solid rgba(255,255,255,.05);
  flex-wrap: wrap;
}
.tv-like-btn--sm {
  padding: .22rem .6rem; font-size: .75rem;
  border-color: rgba(255,255,255,.08);
}
.tv-like-btn--sm:hover                 { border-color: rgba(244,63,94,.4); color: #f43f5e; background: rgba(244,63,94,.07); }
.tv-like-btn--sm.tv-like-btn--active   { border-color: rgba(244,63,94,.35); color: #f43f5e; }

.lk-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(0,0,0,.6); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  animation: lk-fade .15s ease;
}
@keyframes lk-fade { from { opacity: 0; } to { opacity: 1; } }
.lk-box {
  background: var(--s1); border: 1px solid var(--bd); border-radius: 14px;
  width: min(420px, 92vw); max-height: 70vh;
  display: flex; flex-direction: column; overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
.lk-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: .9rem 1.1rem; border-bottom: 1px solid var(--bd);
  font-size: .9rem; font-weight: 700; color: var(--tx);
}
.lk-close {
  background: none; border: none; color: var(--tx3); cursor: pointer;
  padding: .2rem; border-radius: 6px; display: flex; transition: color .1s;
}
.lk-close:hover { color: var(--tx); }
.lk-list { overflow-y: auto; padding: .5rem .6rem; display: flex; flex-direction: column; gap: .25rem; }
.lk-loading, .lk-empty { text-align: center; color: var(--tx3); font-size: .85rem; padding: 1.5rem; }
.lk-item {
  display: flex; align-items: center; gap: .65rem;
  padding: .55rem .65rem; border-radius: 8px; text-decoration: none;
  transition: background .12s;
}
.lk-item:hover { background: var(--s2); }
.lk-item__av {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
  background: var(--s3); font-size: .7rem; font-weight: 700; color: var(--tx2);
  border: 2px solid var(--bd);
}
.lk-item__av--admin     { border-color: var(--admin); }
.lk-item__av--moderator { border-color: var(--mod); }
.lk-item__av--ai        { border-color: var(--ai); }
.lk-item__av img { width: 100%; height: 100%; object-fit: cover; }
.lk-item__name { font-size: .85rem; font-weight: 600; color: var(--tx); }

.tv-post__body {
  flex: 1; min-width: 0; padding: 1rem;
  display: flex; flex-direction: column;
}
.tv-post__meta {
  display: flex; align-items: center; gap: .5rem;
  margin-bottom: .75rem; flex-wrap: wrap;
}
.tv-post__meta .tv-post__views { margin-left: auto; }
.tv-quote-btn {
  margin-left: auto; flex-shrink: 0;
  background: transparent;
  border: 1px solid var(--bd);
  color: var(--tx3);
  font-size: .72rem;
  padding: .2rem .55rem;
  border-radius: 8px;
  cursor: pointer;
  transition: all .12s;
}
.tv-quote-btn:hover { color: var(--tx); border-color: var(--ac); background: rgba(91,138,240,.08); }
.tv-post__time   { font-size: .75rem; color: var(--tx3); }
.tv-post__num    { font-size: .75rem; color: var(--tx3); font-family: monospace; }
.tv-post__views  { display: flex; align-items: center; gap: .3rem; font-size: .75rem; color: var(--tx3); }
.tv-post__content { flex: 1; line-height: 1.7; font-size: .88rem; }

.tv-replies-head {
  font-size: .8rem; font-weight: 700; color: var(--tx3);
  text-transform: uppercase; letter-spacing: .08em;
  margin: 1.5rem 0 .75rem; padding-bottom: .5rem;
  border-bottom: 1px solid var(--bd);
}

.tv-reply-box {
  background: var(--s1); border: 1px solid var(--bd);
  border-radius: 10px; overflow: hidden;
  margin-top: 1.5rem;
}
.tv-reply-box__head {
  padding: .8rem 1.2rem; border-bottom: 1px solid var(--bd);
  font-size: .88rem; font-weight: 700; color: var(--tx);
}
.tv-reply-box form { padding: 1rem 1.2rem; }
.tv-reply-foot { display: flex; justify-content: flex-end; margin-top: .75rem; }

.tv-locked-notice {
  display: flex; align-items: center; gap: .5rem;
  padding: .75rem 1rem; margin-top: 1.5rem;
  background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.25);
  border-radius: 8px; color: #f59e0b; font-size: .85rem;
}

/* Banlı kullanıcı stilleri */
.tv-post__uname--banned { text-decoration: line-through; opacity: .6; }

.tv-post__ban-info {
  display: flex; align-items: flex-start; gap: .3rem;
  margin-top: .4rem; padding: .4rem .5rem;
  background: rgba(224,82,82,.08); border-left: 2px solid var(--red);
  border-radius: 0 4px 4px 0;
  font-size: .65rem; color: var(--red); line-height: 1.35;
  text-align: left; width: 100%;
}
.tv-post__ban-info em { color: var(--tx3); font-style: normal; }

/* Profil: banlı badge */
.fp-banned-badge {
  font-size: .62rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .06em; background: rgba(224,82,82,.15);
  color: var(--red); border-radius: 4px; padding: .15rem .45rem;
  line-height: 1.4; flex-shrink: 0;
}

/* Profil: ban uyarı paneli */
.fp-ban-notice {
  display: flex; align-items: flex-start; gap: .75rem;
  margin: 0 1rem .5rem; padding: .85rem 1rem;
  background: rgba(224,82,82,.08); border: 1px solid rgba(224,82,82,.3);
  border-radius: 8px; color: var(--red); font-size: .82rem; line-height: 1.5;
}
.fp-ban-notice__body { flex: 1; }
.fp-ban-notice strong { font-weight: 700; }
.fp-ban-notice em { color: var(--tx2); font-style: normal; }

.tv-pagination {
  display: flex; align-items: center; gap: .35rem;
  margin: 1.25rem 0; flex-wrap: wrap;
}
.tv-page {
  min-width: 32px; height: 32px; display: flex; align-items: center;
  justify-content: center; border-radius: 6px;
  background: var(--s2); border: 1px solid var(--bd);
  font-size: .82rem; color: var(--tx2); font-weight: 600;
  transition: background .12s, color .12s;
}
.tv-page:hover  { background: var(--s3); color: var(--tx); }
.tv-page.is-active { background: var(--ac); border-color: var(--ac); color: #fff; }

.ct-list { background: var(--s1); border: 1px solid var(--bd); border-radius: 10px; overflow: hidden; }

.ct-list__head {
  display: grid;
  grid-template-columns: 1fr 70px 100px 110px;
  padding: .55rem 1rem;
  background: var(--s2); border-bottom: 1px solid var(--bd);
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; color: var(--tx3);
}

.ct-row {
  display: grid;
  grid-template-columns: 1fr 70px 100px 110px;
  border-bottom: 1px solid rgba(39,41,55,.5);
  transition: background .12s; padding: .75rem 1rem;
  align-items: center; gap: .5rem;
}
.ct-row:last-child { border-bottom: none; }
.ct-row:hover { background: var(--s2); }
.ct-row--pinned { background: rgba(91,138,240,.04); }

.ct-row__main {
  display: flex; align-items: center; gap: .65rem; min-width: 0;
}
.ct-row__av {
  width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, var(--ac), #a855f7);
  overflow: hidden; display: flex; align-items: center;
  justify-content: center; font-size: .7rem; font-weight: 700; color: #fff;
}
.ct-row__av img { width: 100%; height: 100%; object-fit: cover; }
.ct-row__pin  { color: var(--ac); flex-shrink: 0; }
.ct-row__lock { color: #f59e0b; flex-shrink: 0; }
.ct-row__info { flex: 1; min-width: 0; }
.ct-row__title {
  display: block; font-size: .875rem; font-weight: 600; color: var(--tx);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ct-row:hover .ct-row__title { color: var(--ac); }
.ct-row__by { font-size: .73rem; color: var(--tx3); display: block; }
.ct-row__by strong { color: var(--tx2); }

.ct-row__stat {
  font-size: .82rem; color: var(--tx2); font-weight: 600;
  text-align: center; font-family: monospace;
}
.ct-row__stat--views { font-size: .75rem; color: var(--tx3); }
.ct-row__stat--last  { font-size: .75rem; color: var(--tx3); text-align: right; }

.tv-empty {
  text-align: center; padding: 3rem 1rem;
  color: var(--tx3); display: flex; flex-direction: column;
  align-items: center; gap: .75rem;
}
.tv-empty svg { opacity: .3; }
.tv-empty p   { font-size: .9rem; }

.ql-container.ql-snow.ql-drag-over {
  border-color: var(--ac) !important;
  box-shadow: 0 0 0 3px rgba(91,138,240,.2);
}
.ql-container.ql-snow.ql-drag-over::after {
  content: 'Görseli bırak';
  position: absolute; inset: 0; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  background: rgba(91,138,240,.12);
  color: var(--ac); font-weight: 700; font-size: 1rem;
  pointer-events: none; border-radius: 0 0 7px 7px;
}

.qe-notice {
  padding: .5rem .85rem; margin-bottom: .5rem;
  border-radius: 7px; font-size: .82rem; font-weight: 500;
  border: 1px solid; display: flex; align-items: center; gap: .4rem;
  animation: qe-fade .2s ease;
}
@keyframes qe-fade { from { opacity:0; transform:translateY(-4px); } to { opacity:1; } }
.qe-notice--error { background: rgba(240,82,82,.1); border-color: rgba(240,82,82,.3); color: #f05252; }
.qe-notice--info  { background: rgba(91,138,240,.1); border-color: rgba(91,138,240,.3); color: var(--ac); }

@media (max-width: 768px) {
  .tv-post__sidebar {
    width: 110px;
    padding: 1rem .6rem;
  }
  .tv-post__stats { gap: 0; }
}

@media (max-width: 640px) {
  .tv-post {
    flex-direction: column;
  }
  .tv-like-row {
    margin-top: .6rem;
    padding: .45rem 0 0;
  }
  .tv-post__sidebar {
    width: 100%;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .65rem .85rem;
    border-right: none;
    border-bottom: 1px solid var(--bd);
  }
  .tv-post__av, .tv-post__av--sm {
    width: 36px; height: 36px;
  }
  .tv-post__uname { font-size: .8rem; text-align: left; }
  .tv-post__role  { font-size: .65rem; }
  .tv-post__stats { display: none; }
  .tv-post__body  { padding: .75rem; }
  .tv-post__meta  { flex-wrap: wrap; gap: .35rem; margin-bottom: .5rem; }
  .tv-like-bar    { padding: .5rem .75rem; gap: .5rem; flex-wrap: wrap; }
  .tv-like-label  { font-size: .75rem; }

  .tv-reply-box form { padding: .65rem; }

  .ct-list__head    { grid-template-columns: 1fr 50px; }
  .ct-list__head span:nth-child(3),
  .ct-list__head span:nth-child(4) { display: none; }
  .ct-row           { grid-template-columns: 1fr 50px; }
  .ct-row__stat--views,
  .ct-row__stat--last { display: none; }

  .tc-breadcrumb { font-size: .75rem; flex-wrap: wrap; }

  .tv-head { flex-direction: column; gap: .6rem; }
  .tv-head .tc-btn { align-self: flex-start; }
  .tv-title { font-size: 1.05rem; }
}

.ul-hero {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--s2);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: .85rem 1.1rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}
.ul-hero__av {
  width: 44px; height: 44px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid var(--border);
}
.ul-hero__av--admin     { border-color: var(--admin); }
.ul-hero__av--moderator { border-color: var(--mod); }
.ul-hero__av--ai        { border-color: var(--ai); }
.ul-hero__av img { width: 100%; height: 100%; object-fit: cover; }
.ul-hero__info { display: flex; flex-direction: column; gap: .15rem; }
.ul-hero__name { font-size: .92rem; font-weight: 600; color: var(--tx); }
.ul-hero__name--admin     { color: var(--admin); }
.ul-hero__name--moderator { color: var(--mod); }
.ul-hero__name--ai        { color: var(--ai); }
.ul-hero__sub  { font-size: .75rem; color: var(--tx3); }

.ul-count {
  margin-left: auto;
  font-size: .72rem;
  color: var(--tx3);
  background: var(--s3);
  padding: .15rem .55rem;
  border-radius: 20px;
}

.ul-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .8rem 1.1rem;
  border-bottom: 1px solid var(--border);
  text-decoration: none;
  transition: background .1s;
}
.ul-row:last-child { border-bottom: none; }
.ul-row:hover { background: var(--s3); text-decoration: none; }

.ul-row__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.ul-row__title {
  font-size: .88rem;
  font-weight: 500;
  color: var(--tx);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ul-row__topic {
  font-size: .82rem;
  font-weight: 600;
  color: var(--acc);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ul-row__preview {
  font-size: .78rem;
  color: var(--tx2);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.45;
}
.ul-row__meta {
  font-size: .7rem;
  color: var(--tx3);
  display: flex;
  align-items: center;
  gap: .3rem;
  flex-wrap: wrap;
}
.ul-row__cat {
  color: var(--acc);
  font-size: .7rem;
}
.ul-row__sep { opacity: .4; }
.ul-row__ic { flex-shrink: 0; color: var(--tx3); opacity: .5; }

.ul-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
  padding: 3rem 1rem;
  color: var(--tx3);
  font-size: .85rem;
  opacity: .6;
}

.tv-cat-form  { display: inline-flex; }
.tv-cat-select {
  font-size: .75rem;
  font-family: inherit;
  color: var(--tx2);
  background: var(--s2);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: .3rem .55rem;
  cursor: pointer;
  outline: none;
  transition: border-color .15s;
  max-width: 200px;
} 
.tv-cat-select:hover,
.tv-cat-select:focus { border-color: var(--acc); color: var(--tx); }


.tv-post__actions {
  display: flex;
  align-items: center;
  gap: .25rem;
  margin-left: auto;
  margin-right: .3rem;
}

.tv-post-action {
  display: inline-flex;
  align-items: center;
  gap: .2rem;
  font-size: .7rem;
  font-family: inherit;
  color: var(--tx3);
  background: none;
  border: none;
  cursor: pointer;
  padding: .18rem .45rem;
  border-radius: 4px;
  text-decoration: none;
  transition: color .12s, background .12s;
  line-height: 1.4;
}
.tv-post-action:hover {
  color: var(--tx);
  background: rgba(255,255,255,.06);
  text-decoration: none;
}
.tv-post-action--del:hover {
  color: #f43f5e;
  background: rgba(244,63,94,.08);
}

.tv-del-form {
  display: inline;
  margin: 0;
  padding: 0;
}

.tv-post__edited {
  display: block;
  font-size: .67rem;
  color: var(--tx3);
  font-style: italic;
  margin: .25rem 1rem .1rem;
  opacity: .7;
}

.tv-post--deleted {
  border-color: rgba(244,63,94,.2) !important;
  opacity: .75;
}
.tv-post__deleted-banner {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem 1rem;
  background: rgba(244,63,94,.07);
  border-bottom: 1px solid rgba(244,63,94,.12);
  font-size: .75rem;
  color: #f43f5e;
  border-radius: 10px 10px 0 0;
}
.tv-post__deleted-meta {
  color: var(--tx3);
  font-size: .72rem;
}
.tv-post__deleted-content {
  padding: .6rem 1rem;
  opacity: .45;
  font-style: italic;
  pointer-events: none;
  user-select: none;
}

@media (max-width: 768px) {
  .blessed-image {
    width: 45%;
  }
}

/* ═══════════════════════════════════════════════════════════
   MESAJLAŞMA SİSTEMİ
═══════════════════════════════════════════════════════════ */

/* ── Rol renkleri ── */
.fmsg-uname--admin     { color: var(--admin); font-weight: 700; }
.fmsg-uname--moderator { color: var(--mod);   font-weight: 700; }
.fmsg-uname--user,
.fmsg-uname--member    { color: var(--tx);    font-weight: 700; }
.fmsg-uname--ai        { color: var(--ai);    font-weight: 700; }

.fmsg-role-badge {
  display: inline-flex; align-items: center;
  padding: .1rem .4rem; border-radius: 3px;
  font-size: .58rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em;
}
.fmsg-role-badge--admin { background: rgba(232,93,106,.15); color: var(--admin); }
.fmsg-role-badge--mod   { background: var(--mod-bg); color: var(--mod); }
.fmsg-role-badge--ai    { background: var(--ai-bg);  color: var(--ai); }

/* ── Sayfa sarmalayıcı ── */
.fmsg-page {
  max-width: 820px; margin: 2rem auto;
  padding: 0 1rem;
}

/* ── Ortak başlık ── */
.fmsg-inbox-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1.25rem;
}
.fmsg-inbox-head__left {
  display: flex; align-items: center; gap: .65rem;
  color: var(--tx3);
}
.fmsg-inbox-head__left h1 {
  font-size: 1.05rem; font-weight: 700; color: var(--tx); margin: 0;
}
.fmsg-back-link {
  display: flex; align-items: center;
  color: var(--tx3); transition: color .15s;
}
.fmsg-back-link:hover { color: var(--tx); }

/* ── Yeni mesaj butonu ── */
.fmsg-compose-btn {
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .42rem .9rem; border-radius: 6px;
  font-size: .75rem; font-weight: 700;
  background: var(--ac); color: #fff;
  transition: opacity .15s;
  white-space: nowrap;
}
.fmsg-compose-btn:hover { opacity: .88; }

/* ── Alert ── */
.fmsg-alert {
  padding: .6rem .9rem; border-radius: 5px;
  font-size: .8rem; margin-bottom: 1rem;
}
.fmsg-alert--err { background: rgba(220,53,69,.1); color: #f87171; border: 1px solid rgba(220,53,69,.2); }
.fmsg-alert--ok  { background: rgba(34,197,94,.1);  color: #4ade80; border: 1px solid rgba(34,197,94,.2); }

/* ── Boş durum ── */
.fmsg-empty {
  display: flex; flex-direction: column; align-items: center; gap: .6rem;
  padding: 3rem 1rem; text-align: center;
  color: var(--tx3); font-size: .88rem;
  background: var(--s0); border: 1px dashed var(--b1);
  border-radius: 8px;
}
.fmsg-empty__icon {
  width: 56px; height: 56px; border-radius: 14px;
  background: var(--s2); border: 1px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  opacity: .45; margin-bottom: .3rem;
}

/* ═══ GELEN KUTUSU ═══ */
.fmsg-inbox-wrap { max-width: 620px; margin: 0 auto; }

.fmsg-conv-list {
  border: 1px solid var(--b0);
  border-radius: 8px;
  overflow: hidden;
  background: var(--s0);
}

.fmsg-conv-item {
  display: flex; align-items: center; gap: .85rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--b0);
  transition: background .12s;
  position: relative;
}
.fmsg-conv-item:last-child { border-bottom: none; }
.fmsg-conv-item:hover { background: var(--s2); }
.fmsg-conv-item--unread { background: rgba(91,138,240,.04); }
.fmsg-conv-item--unread:hover { background: rgba(91,138,240,.08); }

.fmsg-conv-item__av {
  position: relative; flex-shrink: 0;
  width: 42px; height: 42px;
}
.fmsg-conv-item__av img {
  width: 42px; height: 42px; border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--b1);
}
.fmsg-conv-item__dot {
  position: absolute; top: 0; right: 0;
  width: 11px; height: 11px; border-radius: 50%;
  background: var(--ac); border: 2px solid var(--bg);
}

.fmsg-conv-item__body { flex: 1; min-width: 0; }

.fmsg-conv-item__top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: .22rem;
}
.fmsg-conv-item__name { font-size: .85rem; font-weight: 700; }
.fmsg-conv-item__time { font-size: .63rem; color: var(--tx3); font-family: var(--mono); white-space: nowrap; margin-left: .5rem; }

.fmsg-conv-item__preview {
  font-size: .78rem; color: var(--tx3);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fmsg-conv-item__preview em { opacity: .5; }

.fmsg-conv-item__badge {
  flex-shrink: 0; min-width: 20px; height: 20px; padding: 0 5px;
  background: var(--ac); color: #fff; border-radius: 10px;
  font-size: .62rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
}

/* ═══ KONUŞMA THREAD ═══ */
.fmsg-thread-wrap {
  display: flex; flex-direction: column;
  border: 1px solid var(--b0); border-radius: 8px;
  background: var(--s0); overflow: hidden;
  min-height: 72vh; max-height: 82vh;
}

.fmsg-thread-bar {
  display: flex; align-items: center; gap: .75rem;
  padding: .7rem 1rem;
  background: var(--s1); border-bottom: 1px solid var(--b0);
  flex-shrink: 0;
}
.fmsg-thread-bar__back {
  display: flex; align-items: center;
  color: var(--tx3); transition: color .15s;
  padding: .25rem; border-radius: 4px; border: 1px solid var(--b0);
}
.fmsg-thread-bar__back:hover { color: var(--tx); border-color: var(--b1); }

.fmsg-thread-bar__user {
  display: flex; align-items: center; gap: .5rem;
  flex: 1;
}
.fmsg-thread-bar__av {
  width: 30px; height: 30px; border-radius: 50%;
  object-fit: cover; border: 1px solid var(--b1);
}
.fmsg-thread-bar__name { font-size: .88rem; font-weight: 700; }

.fmsg-thread-bar__pages {
  display: flex; align-items: center; gap: .4rem;
  margin-left: auto; flex-shrink: 0;
}
.fmsg-page-btn {
  font-size: .7rem; color: var(--tx3);
  padding: .2rem .5rem; border-radius: 3px; border: 1px solid var(--b0);
  transition: all .15s;
}
.fmsg-page-btn:hover { color: var(--tx); border-color: var(--b1); }
.fmsg-page-info { font-size: .65rem; color: var(--tx3); font-family: var(--mono); }

/* Mesaj akışı */
.fmsg-thread {
  flex: 1; overflow-y: auto;
  padding: 1rem;
  display: flex; flex-direction: column; gap: .55rem;
  scroll-behavior: smooth;
}
.fmsg-thread::-webkit-scrollbar { width: 4px; }
.fmsg-thread::-webkit-scrollbar-thumb { background: var(--b1); border-radius: 2px; }

.fmsg-thread__empty {
  text-align: center; color: var(--tx3);
  font-size: .83rem; padding: 2rem;
  margin: auto;
}

/* Gün ayırıcısı */
.fmsg-day-sep {
  display: flex; align-items: center; gap: .75rem;
  margin: .5rem 0;
}
.fmsg-day-sep::before,
.fmsg-day-sep::after {
  content: ''; flex: 1; height: 1px; background: var(--b0);
}
.fmsg-day-sep span {
  font-size: .62rem; color: var(--tx3); font-family: var(--mono);
  white-space: nowrap;
}

/* Mesaj baloncukları */
.fmsg-msg {
  display: flex; align-items: flex-end; gap: .5rem;
  max-width: 80%;
}
.fmsg-msg--own   { align-self: flex-end; flex-direction: row-reverse; }
.fmsg-msg--other { align-self: flex-start; }

.fmsg-msg__av {
  width: 28px; height: 28px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  border: 1px solid var(--b1);
}

.fmsg-msg__wrap { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }

.fmsg-msg--own   .fmsg-msg__wrap { align-items: flex-end; }
.fmsg-msg--other .fmsg-msg__wrap { align-items: flex-start; }

.fmsg-msg__bubble {
  padding: .6rem .85rem;
  border-radius: 14px;
  font-size: .84rem; line-height: 1.55;
  word-break: break-word;
  max-width: 100%;
  text-align: left;
}
.fmsg-msg--own   .fmsg-msg__bubble {
  background: var(--ac); color: #fff;
  border-bottom-right-radius: 4px;
}
.fmsg-msg--other .fmsg-msg__bubble {
  background: var(--s2); color: var(--tx);
  border: 1px solid var(--b0);
  border-bottom-left-radius: 4px;
}

.fmsg-msg__meta {
  display: flex; align-items: center; gap: .3rem;
  font-size: .6rem; color: var(--tx3); font-family: var(--mono);
}
.fmsg-msg__read       { opacity: .45; }
.fmsg-msg__read--yes  { color: var(--ac); opacity: 1; }

/* ── Input alanı ── */
.fmsg-input-area {
  flex-shrink: 0;
  border-top: 1px solid var(--b0);
  padding: .75rem 1rem .8rem;
  background: var(--s1);
}
.fmsg-input-row {
  display: flex; align-items: flex-end; gap: .55rem;
}
.fmsg-input {
  flex: 1; resize: none; min-height: 40px; max-height: 140px;
  padding: .6rem .85rem;
  background: var(--s2); border: 1px solid var(--b1);
  border-radius: 20px; color: var(--tx);
  font: inherit; font-size: .85rem; line-height: 1.45;
  transition: border-color .15s;
  overflow-y: auto;
}
.fmsg-input:focus { outline: none; border-color: var(--ac); }
.fmsg-input::placeholder { color: var(--tx3); }

/* Fotoğraf ekle butonu */
.fmsg-img-btn {
  width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
  background: var(--s3); color: var(--tx3); border: 1px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .15s;
}
.fmsg-img-btn:hover          { color: var(--tx); border-color: var(--b1); background: var(--b1); }
.fmsg-img-btn--active        { color: var(--ac); border-color: rgba(91,138,240,.4); background: rgba(91,138,240,.1); }

/* Görsel önizleme bandı */
.fmsg-img-preview {
  display: flex; align-items: center; gap: .6rem;
  padding: .5rem .85rem;
  background: var(--s2); border-bottom: 1px solid var(--b0);
}
.fmsg-img-preview img {
  width: 56px; height: 56px; border-radius: 6px;
  object-fit: cover; border: 1px solid var(--b1);
}
.fmsg-img-preview__rm {
  width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  background: var(--s3); border: 1px solid var(--b1);
  display: flex; align-items: center; justify-content: center;
  color: var(--tx3); cursor: pointer; transition: all .15s;
}
.fmsg-img-preview__rm:hover { color: var(--red); border-color: rgba(220,53,69,.4); }

/* Gönder butonu */
.fmsg-send-btn {
  width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
  background: var(--ac); color: #fff; border: none;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: opacity .15s, transform .1s;
}
.fmsg-send-btn:hover  { opacity: .88; }
.fmsg-send-btn:active { transform: scale(.92); }

/* Baloncuktaki görsel */
.fmsg-msg__img-wrap { display: block; margin-bottom: .4rem; }
.fmsg-msg__img {
  max-width: 240px; max-height: 200px;
  border-radius: 10px; object-fit: cover;
  display: block; cursor: zoom-in;
  transition: opacity .15s;
}
.fmsg-msg__img:hover { opacity: .9; }
.fmsg-msg--own  .fmsg-msg__img { margin-left: auto; }
.fmsg-msg__text { margin-top: 0; }

.fmsg-input-hint {
  font-size: .62rem; color: var(--tx3);
  margin-top: .4rem; padding-left: .5rem;
}

/* ═══ COMPOSE ═══ */
.fmsg-compose-wrap { max-width: 600px; margin: 0 auto; }

.fmsg-compose-card {
  background: var(--s0); border: 1px solid var(--b0);
  border-radius: 8px; overflow: hidden;
}

.fmsg-compose-field {
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--b0);
  position: relative;
}
.fmsg-compose-field:last-of-type { border-bottom: none; }

.fmsg-compose-label {
  display: flex; align-items: center; gap: .4rem;
  font-size: .62rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; color: var(--tx3);
  margin-bottom: .55rem;
}

/* Alıcı wrap */
.fmsg-to-wrap {
  display: flex; align-items: center; gap: .4rem; flex-wrap: wrap;
  min-height: 36px;
}
.fmsg-to-input {
  flex: 1; min-width: 160px;
  background: transparent; border: none;
  color: var(--tx); font: inherit; font-size: .9rem;
  padding: .2rem 0; outline: none;
}
.fmsg-to-input::placeholder { color: var(--tx3); }

/* Seçilmiş kullanıcı chip'i */
.fmsg-to-chip {
  display: flex; align-items: center; gap: .4rem;
  padding: .25rem .6rem .25rem .35rem;
  background: rgba(91,138,240,.12); border: 1px solid rgba(91,138,240,.25);
  border-radius: 20px;
}
.fmsg-to-chip img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; }
.fmsg-to-chip span { font-size: .82rem; font-weight: 600; }
.fmsg-to-chip__rm {
  background: none; border: none; cursor: pointer;
  color: var(--tx3); font-size: .9rem; padding: 0 .1rem;
  line-height: 1; transition: color .15s;
}
.fmsg-to-chip__rm:hover { color: var(--red); }

/* Arama dropdown */
.fmsg-search-drop {
  position: absolute; left: 1.2rem; right: 1.2rem; top: 100%;
  background: var(--s1); border: 1px solid var(--b1);
  border-radius: 6px; z-index: 200;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  overflow: hidden;
}
.fmsg-search-item {
  display: flex; align-items: center; gap: .55rem;
  padding: .6rem .85rem; cursor: pointer;
  transition: background .1s;
}
.fmsg-search-item:hover { background: var(--s2); }
.fmsg-search-item img {
  width: 26px; height: 26px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  border: 1px solid var(--b1);
}
.fmsg-search-item span { font-size: .84rem; font-weight: 600; }

/* Compose textarea */
.fmsg-compose-textarea {
  width: 100%; resize: vertical; min-height: 130px;
  background: transparent; border: none;
  color: var(--tx); font: inherit; font-size: .88rem;
  line-height: 1.55; outline: none;
}
.fmsg-compose-textarea::placeholder { color: var(--tx3); }
.fmsg-compose-hint {
  font-size: .62rem; color: var(--tx3); margin-top: .4rem; text-align: right;
}

/* Compose actions */
.fmsg-compose-actions {
  display: flex; align-items: center; justify-content: flex-end;
  gap: .75rem; padding: .9rem 1.2rem;
  border-top: 1px solid var(--b0);
  background: var(--s1);
}
.fmsg-compose-cancel {
  font-size: .8rem; color: var(--tx3); transition: color .15s;
}
.fmsg-compose-cancel:hover { color: var(--tx); }

.fmsg-send-btn--full {
  width: auto; height: auto; border-radius: 7px;
  padding: .5rem 1.1rem; gap: .4rem;
  display: inline-flex; font-size: .8rem; font-weight: 700;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .fmsg-page { margin: 1rem auto; }
  .fmsg-thread-wrap { min-height: 70vh; max-height: 76vh; border-radius: 0; border-left: none; border-right: none; }
  .fmsg-msg { max-width: 92%; }
}

/* ═══════════════════════════════════════════════════════════
   BİLDİRİM ZİLİ — header badge
═══════════════════════════════════════════════════════════ */

.fh__badge--notif { background: var(--red); }

/* ═══════════════════════════════════════════════════════════
   ALT NAV — bildirim badge
═══════════════════════════════════════════════════════════ */

.f-nav__icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.f-nav__badge {
  position: absolute;
  top: -5px; right: -7px;
  min-width: 14px; height: 14px; padding: 0 3px;
  background: var(--red);
  border-radius: 7px;
  font-size: .48rem; font-weight: 700; color: #fff;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}

/* ═══════════════════════════════════════════════════════════
   TOAST BİLDİRİMLERİ
═══════════════════════════════════════════════════════════ */

.toast-container {
  position: fixed;
  bottom: 1.2rem;
  left: 1.2rem;
  z-index: 8000;
  display: flex;
  flex-direction: column-reverse;
  gap: .45rem;
  pointer-events: none;
  max-width: 310px;
  width: calc(100vw - 2.4rem);
}

@media (max-width: 600px) {
  .toast-container { bottom: calc(var(--nh) + .8rem); left: .7rem; right: .7rem; max-width: none; width: auto; }
}

.notif-toast {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  padding: .7rem .85rem;
  background: var(--s1);
  border: 1px solid var(--b1);
  border-radius: var(--r);
  box-shadow: 0 6px 28px rgba(0,0,0,.55);
  pointer-events: all;
  cursor: default;
  transform: translateX(-110%);
  opacity: 0;
  transition: transform .28s cubic-bezier(.22,1,.36,1), opacity .25s ease;
  position: relative;
  overflow: hidden;
}

.notif-toast::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--ac);
  border-radius: 3px 0 0 3px;
}

.notif-toast--topic_like::before,
.notif-toast--post_like::before { background: var(--admin); }

.notif-toast--message::before { background: var(--green); }

.notif-toast--reply::before { background: var(--ac); }

.toast--show { transform: translateX(0); opacity: 1; }
.toast--hide { transform: translateX(-110%); opacity: 0; }

.notif-toast__icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--ac-t);
  color: var(--ac);
  display: flex; align-items: center; justify-content: center;
  margin-top: .05rem;
}

.notif-toast__icon svg { width: 13px; height: 13px; }

.notif-toast--topic_like .notif-toast__icon,
.notif-toast--post_like  .notif-toast__icon {
  background: rgba(232,93,106,.12);
  color: var(--admin);
}

.notif-toast--message .notif-toast__icon,
.notif-toast--balance .notif-toast__icon {
  background: rgba(62,207,142,.1);
  color: var(--green);
}

.notif-toast--balance::before { background: var(--green); }

.notif-toast__body { flex: 1; min-width: 0; padding-right: 1rem; }

.notif-toast__msg {
  font-size: .79rem; font-weight: 500; color: var(--tx);
  line-height: 1.4; word-break: break-word;
}

.notif-toast__time {
  font-size: .68rem; color: var(--tx3); margin-top: .18rem;
}

.notif-toast__close {
  position: absolute; top: .35rem; right: .45rem;
  font-size: 1.05rem; line-height: 1;
  color: var(--tx3); padding: .1rem .15rem;
  transition: color .12s;
}

.notif-toast__close:hover { color: var(--tx); }

/* ═══════════════════════════════════════════════════════════
   BİLDİRİMLER SAYFASI (np-*)
═══════════════════════════════════════════════════════════ */

.np-wrap {
  max-width: 660px;
  margin: 0 auto;
  padding: 1.6rem 1rem 6rem;
}

.np-header {
  display: flex; align-items: center;
  justify-content: space-between;
  margin-bottom: 1.4rem;
}

.np-header__left { display: flex; align-items: baseline; gap: .7rem; }

.np-title {
  font-size: 1.1rem; font-weight: 800; color: var(--tx);
  letter-spacing: -.01em;
}

.np-count {
  font-size: .72rem; color: var(--tx3); font-weight: 500;
}

/* ── Liste ── */
.np-list { display: flex; flex-direction: column; gap: .3rem; }

.np-item {
  position: relative;
  display: flex; align-items: center;
  gap: .75rem; padding: .85rem 1rem;
  border-radius: 10px;
  border: 1px solid var(--b0);
  background: var(--s0);
  text-decoration: none; color: inherit;
  transition: background .13s, border-color .13s, transform .1s;
  overflow: hidden;
}

.np-item:hover {
  background: var(--s1);
  border-color: var(--b1);
  transform: translateX(2px);
}

.np-item--new {
  background: var(--s1);
  border-color: rgba(91,138,240,.25);
}

.np-item--new::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px;
  background: var(--ac);
  border-radius: 3px 0 0 3px;
}

/* unread dot */
.np-item__dot {
  position: absolute; top: .55rem; right: .55rem;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--ac);
}

/* type icon circle */
.np-item__icon {
  flex-shrink: 0;
  width: 32px; height: 32px; border-radius: 50%;
  background: var(--ac-t); color: var(--ac);
  display: flex; align-items: center; justify-content: center;
}

.np-item__icon--topic_like,
.np-item__icon--post_like { background: rgba(232,93,106,.12); color: var(--admin); }

.np-item__icon--message { background: rgba(62,207,142,.1); color: var(--green); }

/* avatar */
.np-item__av {
  flex-shrink: 0;
  width: 34px; height: 34px; border-radius: 50%;
  overflow: hidden; background: var(--s3);
}

.np-item__av img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* body */
.np-item__body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: .22rem;
}

.np-item__msg {
  font-size: .83rem; font-weight: 500; color: var(--tx);
  line-height: 1.4; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}

.np-item__meta { display: flex; align-items: center; gap: .45rem; }

.np-item__badge {
  font-size: .6rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em;
  padding: .1rem .42rem; border-radius: 20px;
  background: var(--ac-t); color: var(--ac);
}

.np-item__badge--topic_like,
.np-item__badge--post_like { background: rgba(232,93,106,.12); color: var(--admin); }

.np-item__badge--message { background: rgba(62,207,142,.1); color: var(--green); }

.np-item__badge--balance { background: rgba(62,207,142,.1); color: var(--green); }
.np-item__icon--balance  { background: rgba(62,207,142,.1); color: var(--green); }

.np-item__time { font-size: .7rem; color: var(--tx3); }

/* arrow */
.np-item__arrow { flex-shrink: 0; color: var(--tx3); opacity: .4; }

/* ── Empty state ── */
.np-empty {
  display: flex; flex-direction: column; align-items: center;
  padding: 5rem 1rem 3rem; text-align: center;
}

.np-empty__icon {
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--s2);
  display: flex; align-items: center; justify-content: center;
  color: var(--tx3); margin-bottom: 1.1rem;
}

.np-empty__title {
  font-size: .95rem; font-weight: 700; color: var(--tx2);
  margin-bottom: .35rem;
}

.np-empty__sub {
  font-size: .8rem; color: var(--tx3); max-width: 340px; line-height: 1.55;
}

/* ── Dropdown badge ── */
.fh__drop-badge {
  margin-left: auto; flex-shrink: 0;
  font-size: .58rem; font-weight: 700;
  padding: .12rem .42rem; border-radius: 20px;
  color: #fff; line-height: 1.2;
}

.fh__drop-badge--msg   { background: var(--ac); }
.fh__drop-badge--notif { background: var(--red); }

/* ═══════════════════════════════════════════════════════════
   BAKİYE SAYFASI (bw-*)
═══════════════════════════════════════════════════════════ */

.bw-wrap {
  max-width: 860px; margin: 0 auto; padding: 1.6rem 1rem 6rem;
}

/* ── Üst Bakiye Kartı ── */
.bw-top { margin-bottom: 1.4rem; }

.bw-balance-card {
  display: flex; align-items: center; gap: 1rem;
  background: var(--s1); border: 1px solid var(--b1);
  border-radius: 12px; padding: 1.1rem 1.3rem;
}

.bw-balance-card__icon {
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(62,207,142,.12); color: var(--green);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

.bw-balance-card__body { flex: 1; }

.bw-balance-card__label { font-size: .72rem; color: var(--tx3); }

.bw-balance-card__amount {
  display: block; font-size: 1.6rem; font-weight: 800;
  color: var(--green); letter-spacing: -.02em; margin-top: .1rem;
}

.bw-balance-card__amount--locked { color: var(--red); }

.bw-locked-badge {
  display: flex; align-items: center; gap: .3rem;
  background: rgba(224,82,82,.12); color: var(--red);
  font-size: .68rem; font-weight: 700;
  padding: .3rem .65rem; border-radius: 20px;
  flex-shrink: 0;
}

.bw-lock-alert {
  display: flex; align-items: center; gap: .5rem;
  margin-top: .7rem; padding: .7rem 1rem;
  background: rgba(224,82,82,.08); border: 1px solid rgba(224,82,82,.25);
  border-radius: 8px; color: var(--red); font-size: .8rem; font-weight: 500;
}

/* ── Grid ── */
.bw-grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  gap: 1.2rem;
  align-items: start;
}

@media (max-width: 700px) { .bw-grid { grid-template-columns: 1fr; } }

/* ── Transfer Paneli ── */
.bw-panel {
  background: var(--s0); border: 1px solid var(--b0);
  border-radius: 12px; overflow: hidden;
}

.bw-panel__head {
  display: flex; align-items: center; gap: .5rem;
  padding: .8rem 1.1rem; font-size: .82rem; font-weight: 700;
  border-bottom: 1px solid var(--b0); color: var(--tx2);
}

.bw-alert {
  display: flex; align-items: flex-start; gap: .5rem;
  padding: .75rem 1.1rem; font-size: .8rem; line-height: 1.4;
  border-bottom: 1px solid var(--b0);
}

.bw-alert--ok  { background: rgba(62,207,142,.08); color: var(--green); }
.bw-alert--err { background: rgba(224,82,82,.08); color: var(--red); }

.bw-form { padding: 1rem; display: flex; flex-direction: column; gap: .85rem; }

.bw-form__group { display: flex; flex-direction: column; gap: .35rem; }

.bw-form__label { font-size: .75rem; font-weight: 600; color: var(--tx2); }

.bw-form__optional { font-weight: 400; color: var(--tx3); }

.bw-form__input {
  width: 100%; padding: .55rem .8rem;
  background: var(--s2); border: 1px solid var(--b1);
  border-radius: 7px; color: var(--tx); font: inherit; font-size: .82rem;
  transition: border-color .12s;
}

.bw-form__input:focus { outline: none; border-color: var(--ac); box-shadow: 0 0 0 2px var(--ac-t); }
.bw-form__input::placeholder { color: var(--tx3); }

.bw-submit {
  width: 100%; padding: .6rem;
  background: var(--ac); color: #fff;
  border-radius: 7px; font: inherit; font-size: .82rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center; gap: .4rem;
  transition: opacity .12s;
}

.bw-submit:hover { opacity: .88; }

.bw-form-disabled {
  display: flex; flex-direction: column; align-items: center;
  padding: 2.5rem 1rem; gap: .6rem; text-align: center;
  color: var(--red);
}

.bw-form-disabled p { font-size: .82rem; line-height: 1.5; color: var(--tx3); }
.bw-form-disabled svg { color: var(--red); opacity: .6; }

/* ── Autocomplete ── */
.bw-ac-list {
  position: absolute; top: calc(100% + 4px); left: 0; right: 0;
  background: var(--s1); border: 1px solid var(--b1);
  border-radius: 8px; overflow: hidden; z-index: 200;
  display: none;
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
  max-height: 220px; overflow-y: auto;
}

.bw-ac-item {
  display: flex; align-items: center; gap: .55rem;
  padding: .55rem .8rem; cursor: pointer;
  transition: background .1s;
}

.bw-ac-item:hover { background: var(--s2); }

.bw-ac-item__av {
  width: 26px; height: 26px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0; background: var(--s3);
}

.bw-ac-item__name { flex: 1; font-size: .8rem; font-weight: 500; color: var(--tx); }

.bw-ac-item__role {
  font-size: .62rem; font-weight: 700; text-transform: uppercase;
  padding: .1rem .3rem; border-radius: 3px; background: var(--s3); color: var(--tx3);
}

.bw-ac-item__role--admin     { background: rgba(232,93,106,.15); color: var(--admin); }
.bw-ac-item__role--moderator { background: var(--mod-bg); color: var(--mod); }
.bw-ac-item__role--ai        { background: var(--ai-bg);  color: var(--ai); }

/* ── Geçmiş ── */
.bw-history {
  background: var(--s0); border: 1px solid var(--b0);
  border-radius: 12px; overflow: hidden;
}

.bw-history__head {
  display: flex; align-items: center; gap: .5rem;
  padding: .8rem 1.1rem; font-size: .82rem; font-weight: 700;
  border-bottom: 1px solid var(--b0); color: var(--tx2);
}

.bw-history__count {
  margin-left: auto; background: var(--s3); color: var(--tx3);
  font-size: .65rem; font-weight: 700;
  padding: .1rem .4rem; border-radius: 20px;
}

.bw-tx-list { display: flex; flex-direction: column; }

.bw-tx {
  display: flex; align-items: center; gap: .75rem;
  padding: .8rem 1.1rem;
  border-bottom: 1px solid var(--b0);
  position: relative;
}

.bw-tx:last-child { border-bottom: none; }

.bw-tx--in  { border-left: 3px solid var(--green); }
.bw-tx--out { border-left: 3px solid rgba(91,138,240,.5); }

.bw-tx__av {
  flex-shrink: 0; width: 34px; height: 34px;
  border-radius: 50%; overflow: hidden; background: var(--s3);
}

.bw-tx__av img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bw-tx__body { flex: 1; min-width: 0; }

.bw-tx__name {
  display: flex; align-items: center; gap: .45rem;
  font-size: .8rem; font-weight: 600; color: var(--tx);
}

.bw-tx__name a { color: inherit; }
.bw-tx__name a:hover { color: var(--ac); }

.bw-tx__dir {
  font-size: .62rem; font-weight: 500; color: var(--tx3);
  background: var(--s2); padding: .1rem .32rem; border-radius: 3px;
}

.bw-tx__note { font-size: .72rem; color: var(--tx3); margin-top: .15rem; font-style: italic; }
.bw-tx__time { font-size: .7rem; color: var(--tx3); margin-top: .15rem; }

.bw-tx__amount {
  font-size: .9rem; font-weight: 800; flex-shrink: 0;
  letter-spacing: -.01em;
}

.bw-tx__amount--in  { color: var(--green); }
.bw-tx__amount--out { color: var(--tx2); }

/* ── Sayfalama ── */
.bw-pages {
  display: flex; gap: .3rem; padding: .8rem 1rem;
  border-top: 1px solid var(--b0); flex-wrap: wrap;
}

.bw-page-btn {
  min-width: 28px; height: 28px; padding: 0 .5rem;
  background: var(--s2); border-radius: 5px;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 600; color: var(--tx2);
  transition: background .1s, color .1s;
}

.bw-page-btn:hover { background: var(--s3); color: var(--tx); }
.bw-page-btn--active { background: var(--ac); color: #fff; }

/* ── Boş durum ── */
.bw-empty {
  display: flex; flex-direction: column; align-items: center;
  padding: 3rem 1rem; gap: .6rem; text-align: center;
  color: var(--tx3); font-size: .82rem;
}

/* ── Onay Modalı ── */
.bw-modal-overlay {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,.55); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  padding: 1rem;
}

.bw-modal {
  background: var(--s1); border: 1px solid var(--b1);
  border-radius: 14px; padding: 2rem 1.8rem; text-align: center;
  max-width: 360px; width: 100%;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}

.bw-modal__icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--ac-t); color: var(--ac);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem;
}

.bw-modal__title { font-size: 1rem; font-weight: 800; margin-bottom: .5rem; }

.bw-modal__desc { font-size: .82rem; color: var(--tx2); line-height: 1.5; margin-bottom: 1.4rem; }

.bw-modal__actions { display: flex; gap: .7rem; }

.bw-modal__btn {
  flex: 1; padding: .62rem; border-radius: 8px;
  font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer;
  transition: opacity .12s;
}

.bw-modal__btn--cancel  { background: var(--s2); color: var(--tx2); border: 1px solid var(--b1); }
.bw-modal__btn--confirm { background: var(--ac); color: #fff; border: none; }
.bw-modal__btn:hover { opacity: .85; }

/* ── Profil: kilitli bakiye ── */
.fp-count__val--locked {
  display: flex; align-items: center; gap: 3px; color: var(--red) !important;
}

/* ── Profil transfer satırı (fp-tx-row) ── */
.fp-tx-row {
  display: flex; align-items: center; gap: .65rem;
  padding: .65rem 1rem; border-bottom: 1px solid var(--b0);
}
.fp-tx-row:last-child { border-bottom: none; }

.fp-tx-row__av {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  overflow: hidden; background: var(--s3);
}
.fp-tx-row__av img { width: 100%; height: 100%; object-fit: cover; display: block; }

.fp-tx-row__body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: .1rem;
}

.fp-tx-row__who {
  font-size: .78rem; color: var(--tx2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fp-tx-row__who strong { color: var(--tx); font-weight: 600; }
.fp-tx-row__who a { color: var(--ac); }
.fp-tx-row__who a:hover { text-decoration: underline; }

.fp-tx-row__note {
  font-size: .7rem; color: var(--tx3); font-style: italic;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fp-tx-row__time { font-size: .68rem; color: var(--tx3); }

.fp-tx-row__amount {
  flex-shrink: 0; font-size: .82rem; font-weight: 700; letter-spacing: -.01em;
}
.fp-tx-row__amount--in  { color: var(--green); }
.fp-tx-row__amount--out { color: var(--tx3); }

/* ── Autocomplete item ── */
.bw-ac-wrap { position: relative; }

.bw-ac-item__info {
  flex: 1; min-width: 0;
  display: flex; align-items: center; gap: .5rem;
}
.bw-ac-item__name { font-size: .8rem; font-weight: 600; color: var(--tx); }
.bw-ac-item__sel  { color: var(--green); opacity: 0; flex-shrink: 0; }

/* ── Chip (seçili kullanıcı) ── */
.bw-chip {
  display: none; align-items: center; gap: .55rem;
  padding: .48rem .75rem;
  background: rgba(91,138,240,.12);
  border: 1.5px solid var(--ac);
  border-radius: 7px;
  transform: scale(.96); opacity: 0;
  transition: transform .18s cubic-bezier(.22,1,.36,1), opacity .18s ease;
}

.bw-chip--in { transform: scale(1); opacity: 1; }

.bw-chip__av {
  width: 24px; height: 24px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  background: var(--s3);
}

.bw-chip__name {
  flex: 1; font-size: .82rem; font-weight: 700; color: var(--ac);
}

.bw-chip__clear {
  color: var(--tx3); padding: .1rem; border-radius: 3px;
  transition: color .1s, background .1s;
  display: flex; align-items: center; justify-content: center;
}
.bw-chip__clear:hover { color: var(--red); background: rgba(224,82,82,.1); }

/* ── Modal overlay display fix ── */
.bw-modal-overlay { display: none; }
.bw-modal-overlay.is-open { display: flex; }

/* ══════════════════════════════════════════════
   Muhbir Feed (Ana Sayfa)
   ══════════════════════════════════════════════ */
.muhbir-feed {
  background: var(--s0);
  border: 1px solid var(--b0);
  border-left: 3px solid var(--ai);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 1.25rem;
}

.muhbir-feed__head {
  display: flex; align-items: center; gap: .65rem;
  padding: .65rem 1rem;
  border-bottom: 1px solid var(--b0);
  background: var(--s1);
}

.muhbir-feed__av {
  flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%;
  overflow: hidden; border: 2px solid var(--ai); display: block;
}
.muhbir-feed__av img { width: 100%; height: 100%; object-fit: cover; display: block; }

.muhbir-feed__title-wrap {
  display: flex; flex-direction: column; gap: .08rem; min-width: 0;
}

.muhbir-feed__title {
  font-size: .85rem; font-weight: 800;
  color: var(--ai); letter-spacing: .02em; text-decoration: none;
}
.muhbir-feed__title:hover { text-decoration: underline; }

.muhbir-feed__sub {
  font-size: .65rem; color: var(--tx3); font-style: italic;
}

.muhbir-link {
  color: var(--ac); text-decoration: none; word-break: break-all;
}
.muhbir-link:hover { text-decoration: underline; }

.muhbir-feed__list { padding: .3rem 0; }

.muhbir-item {
  display: flex; align-items: center; gap: .6rem;
  padding: .45rem 1rem;
  border-bottom: 1px solid var(--b0);
  transition: background .1s;
  text-decoration: none;
  color: inherit;
}
.muhbir-item:last-child { border-bottom: none; }
.muhbir-item:hover { background: var(--s1); }
.muhbir-item--hidden { display: none; }
.muhbir-item--link:hover .muhbir-item__msg { color: var(--tx); }

.muhbir-item__av {
  flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%;
  object-fit: cover; border: 1.5px solid var(--ai); opacity: .85;
}

.muhbir-item__msg {
  flex: 1; font-size: .8rem; color: var(--tx2); line-height: 1.45;
  word-break: break-word; transition: color .1s;
}

.muhbir-item__time {
  flex-shrink: 0; font-size: .65rem; color: var(--tx3);
  white-space: nowrap;
}

.muhbir-feed__more {
  width: 100%; padding: .55rem 1rem;
  font-size: .75rem; font-weight: 600; color: var(--ai);
  background: none; border: none; border-top: 1px solid var(--b0);
  cursor: pointer; text-align: center;
  transition: background .12s;
}
.muhbir-feed__more:hover { background: var(--s1); }

/* ══════════════════════════════════════════════════
   Profil — Transfer Geçmişi Sayfası (user_transfers)
   ══════════════════════════════════════════════════ */

/* Transfer satırı — tam sayfa versiyonu */
.utx-row {
  display: flex; align-items: center; gap: .6rem;
  padding: .75rem 1.1rem; border-bottom: 1px solid var(--b0);
  transition: background .12s;
}
.utx-row:last-child { border-bottom: none; }
.utx-row:hover { background: var(--s1); }

/* Avatarlar */
.utx-row__av {
  flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%;
  overflow: hidden; background: var(--s3); display: block;
}
.utx-row__av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.utx-row__av--me { box-shadow: 0 0 0 2px var(--ac); }

/* Yön ikonu */
.utx-row__dir {
  flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.utx-row__dir--out { background: rgba(var(--tx3-rgb, 150,150,150),.1); color: var(--tx3); }
.utx-row__dir--in  { background: rgba(76,175,80,.12); color: var(--green); }

/* İçerik */
.utx-row__body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: .12rem;
}
.utx-row__who {
  display: flex; align-items: center; gap: .3rem; flex-wrap: wrap;
}
.utx-row__uname {
  font-size: .82rem; font-weight: 700; color: var(--ac); text-decoration: none;
}
.utx-row__uname:hover { text-decoration: underline; }
.utx-row__uname--me { color: var(--tx); }
.utx-row__sep { font-size: .75rem; color: var(--tx3); }
.utx-row__note {
  font-size: .72rem; color: var(--tx3); font-style: italic;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.utx-row__time { font-size: .68rem; color: var(--tx3); }

/* Miktar */
.utx-row__amount {
  flex-shrink: 0; font-size: .9rem; font-weight: 700;
  letter-spacing: -.01em; text-align: right; min-width: 64px;
}
.utx-row__amount--in  { color: var(--green); }
.utx-row__amount--out { color: var(--tx3); }
.muhbir-feed__list {padding: .3rem 0; height: 260px; overflow: auto;}