/* ============================================================
   kriptoskor — Akış / Feed v2
   X tarzı: 3 tab (Sana Özel / Takip / Keşfet), animasyonlu
   etkileşim, thread, lightbox, view tracking, skeleton.
   ============================================================ */

/* Sol sidebar + merkez feed layout */
.fp-layout{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:24px;
  max-width:1040px;
  margin:0 auto;
  padding:8px 16px 60px;
  align-items:start;
}
@media (max-width:760px){
  .fp-layout{ grid-template-columns:minmax(0,1fr); gap:14px; max-width:680px; padding:8px 12px 80px; }
  .fp-side{ order:2; }
  .fp-wrap{ order:1; }
}
.fp-wrap{
  max-width:680px;
  margin:0;
  padding:0;
  min-width:0;
}

/* Sol kolon — widgetler */
.fp-side{ display:flex; flex-direction:column; gap:14px; position:sticky; top:80px; max-height:calc(100vh - 100px); overflow-y:auto; scrollbar-width:none; }
.fp-side::-webkit-scrollbar{ display:none; }
@media (max-width:760px){ .fp-side{ position:static; max-height:none; overflow-y:visible; } }
.fp-widget{
  background:var(--surface); border:1px solid var(--border);
  border-radius:16px; padding:14px 16px;
  flex-shrink:0;
}
.fp-widget-h{ margin:0 0 10px; font-size:15px; font-weight:800; letter-spacing:-.01em; }
.fp-tags{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.fp-tag-link{
  display:flex; flex-direction:column; padding:8px 10px;
  border-radius:10px; color:inherit; text-decoration:none;
  transition:background .15s;
}
.fp-tag-link:hover{ background:var(--surface-2); }
.fp-tag-name{ color:var(--accent); font-weight:700; font-size:14px; }
.fp-tag-cnt{ color:var(--text-soft); font-size:12px; }

.fp-recs{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.fp-recs li{ display:flex; align-items:center; gap:10px; }
.fp-rec-av{ flex-shrink:0; }
.fp-rec-av img{ width:36px; height:36px; border-radius:50%; object-fit:cover; background:var(--surface-2); display:block; }
.fp-rec-mt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.fp-rec-nm{ color:var(--text); font-weight:700; font-size:14px; text-decoration:none; }
.fp-rec-nm:hover{ text-decoration:underline; }
.fp-rec-badge{ color:var(--warning); font-size:12px; }
.fp-rec-meta{ color:var(--text-soft); font-size:11.5px; }
.fp-rec-fb{
  width:auto !important; padding:6px 14px !important;
  background:var(--text) !important; color:var(--bg);
  border:none; border-radius:999px !important;
  font-size:12.5px; font-weight:700; cursor:pointer;
  flex-shrink:0;
  transition:opacity .15s;
}
.fp-rec-fb:hover{ opacity:.85; }
.fp-rec-fb.on{ background:transparent !important; color:var(--text); border:1px solid var(--border); }

/* Lider tablosu */
.fp-leaders{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.fp-leaders li{ display:flex; align-items:center; gap:10px; }
.fp-leader-rank{
  width:22px; height:22px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:800; flex-shrink:0;
  background:var(--surface-2); color:var(--text-soft);
}
.fp-leader-rank.gold  { background:#f59e0b22; color:#f59e0b; }
.fp-leader-rank.silver{ background:#9ca3af22; color:#9ca3af; }
.fp-leader-rank.bronze{ background:#d9770622; color:#d97706; }

/* Profile (me) widget */
.fp-widget-me{ padding:0 !important; overflow:hidden; }
.fp-me-top{
  display:flex; align-items:center; gap:12px;
  padding:14px 16px; text-decoration:none; color:inherit;
  background:linear-gradient(180deg, var(--surface-2), var(--surface));
  border-bottom:1px solid var(--border);
  transition:background .15s;
}
.fp-me-top:hover{ background:var(--surface-3); }
.fp-me-top.fp-me-guest{ flex-direction:column; align-items:flex-start; gap:4px; }
.fp-me-av{ width:46px; height:46px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--surface-3); }
.fp-me-id{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.fp-me-id b{ color:var(--text); font-weight:800; font-size:15px; line-height:1.2; }
.fp-me-id span{ color:var(--text-soft); font-size:13px; line-height:1.2; }
.fp-me-stats{
  display:flex; flex-wrap:wrap; gap:0; padding:10px 16px;
  border-bottom:1px solid var(--border);
}
.fp-me-stats > span,
.fp-me-stat-link{ flex:1; display:flex; flex-direction:column; gap:1px; align-items:flex-start; min-width:0; }
.fp-me-stat-link{ text-decoration:none; color:inherit; padding:2px 0; border-radius:6px; transition:opacity .15s; }
.fp-me-stat-link:hover{ opacity:.75; }
.fp-me-stat-div{ display:none; }
.fp-me-stats b{ color:var(--text); font-weight:800; font-size:15px; font-variant-numeric:tabular-nums; }
.fp-me-stats small{ color:var(--text-soft); font-size:11px; text-transform:uppercase; letter-spacing:.04em; }
.fp-me-nav{ display:flex; flex-direction:column; padding:6px; }
.fp-me-link{
  display:flex; align-items:center; gap:10px;
  padding:9px 10px; border-radius:10px;
  color:var(--text); text-decoration:none; font-size:14px; font-weight:600;
  transition:background .15s;
}
.fp-me-link:hover{ background:var(--surface-2); }
.fp-me-link em{
  margin-left:auto; font-style:normal;
  background:var(--accent); color:#0a0a0a;
  font-size:11px; font-weight:800; padding:2px 8px; border-radius:999px;
}

/* "Akış" başlık-altyazısı kaldırıldı — bilgi /api/feed?tab=... ile zaten anlaşılıyor */
.fp-hd, .fp-sub{ display:none !important; }

/* ─────────── Tabs ─────────── */
.fp-tabs{
  position:relative;
  display:flex; align-items:stretch; gap:0;
  background:var(--surface);
  border:1px solid var(--border); border-radius:14px;
  padding:4px; margin-bottom:14px;
  overflow:hidden;
}
.fp-tab{
  flex:1 1 0; min-width:0;
  display:inline-flex !important; align-items:center; justify-content:center; gap:6px;
  background:transparent !important; border:none; cursor:pointer;
  padding:10px 14px !important; border-radius:10px !important;
  color:var(--text-muted); font-weight:700; font-size:14px;
  width:auto !important;
  transition:color .2s;
  position:relative; z-index:2;
  white-space:nowrap;
}
.fp-tab:hover:not(.on){ color:var(--text); background:transparent !important; }
.fp-tab.on{ color:var(--text); }
.fp-tab-ind{
  position:absolute; left:0; top:4px; bottom:4px;
  background:var(--surface-3); border-radius:10px;
  width:0; z-index:1;
  transition:left .28s cubic-bezier(.4,.0,.2,1), width .28s cubic-bezier(.4,.0,.2,1);
  pointer-events:none;
}

/* ─────────── Composer ─────────── */
.fp-comp{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  margin-bottom:14px;
  transition:border-color .2s, background .2s;
}

.fp-comp.drag{ border-color:var(--accent); background:var(--accent-soft); }
.fp-comp textarea:focus{ border-color:var(--border); box-shadow:none; outline:none; }

/* "Yeni gönderi" pulse rozeti */
.fp-new-badge{
  display:block; width:auto; margin:0 auto 10px;
  padding:9px 18px !important; border-radius:999px !important;
  background:var(--accent) !important; color:#0a0a0a !important;
  border:none; cursor:pointer; font-weight:800; font-size:13px;
  box-shadow:0 10px 24px -8px rgba(0,0,0,.4);
  animation:fpNbIn .3s ease, fpNbPulse 2.5s ease-in-out infinite;
}
.fp-new-badge:hover{ filter:brightness(1.1); }
@keyframes fpNbIn{ from{ transform:translateY(-8px); opacity:0; } to{ transform:none; opacity:1; } }
@keyframes fpNbPulse{ 0%,100%{ transform:none; } 50%{ transform:translateY(-2px); } }

/* Mention autocomplete popover */
.fp-mention-pop{
  position:fixed; z-index:350; min-width:260px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:14px; padding:6px;
  box-shadow:0 16px 36px rgba(0,0,0,.45);
  max-height:260px; overflow-y:auto;
  animation:fpIn .15s ease;
}
.fp-mention-pop button{
  width:100% !important; display:flex !important; align-items:center; gap:10px;
  background:transparent !important; border:none; padding:8px 10px !important;
  border-radius:8px !important; cursor:pointer; color:var(--text); text-align:left;
}
.fp-mention-pop button:hover{ background:var(--surface-2); }
.fp-mention-pop img{ width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.fp-mention-pop span{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.fp-mention-pop b{ font-weight:700; font-size:14px; line-height:1.2; }
.fp-mention-pop small{ color:var(--text-soft); font-size:12px; }
.fp-comp-top{ display:flex; gap:12px; align-items:flex-start; }
.fp-comp-av{
  width:44px !important; height:44px !important;
  border-radius:50% !important;
  object-fit:cover;
  flex:0 0 44px;
  background:var(--surface-2);
  display:block;
}
.fp-comp textarea{
  flex:1; min-width:0;
  background:transparent; border:none; outline:none;
  color:var(--text); font-family:inherit; font-size:16px; line-height:1.5;
  resize:none; min-height:60px; max-height:280px;
  padding:8px 0 0;
  transition:height .15s;
}
.fp-comp-prev{
  display:grid; gap:6px;
  grid-template-columns:repeat(2,1fr);
  margin:10px 0 0 56px;
}
.fp-comp-prev:empty{ display:none; }
.fp-comp-prev .it{ position:relative; border-radius:14px; overflow:hidden; aspect-ratio:1; background:var(--surface-2); }
.fp-comp-prev img{ width:100%; height:100%; object-fit:cover; display:block; }
.fp-comp-prev .x{
  position:absolute; top:6px; right:6px;
  width:28px; height:28px; border-radius:50%;
  background:rgba(0,0,0,.7); color:#fff;
  border:none; cursor:pointer; font-size:18px; line-height:1;
  display:flex; align-items:center; justify-content:center;
}
.fp-quote-banner{
  display:none;
  align-items:center; gap:8px;
  padding:8px 12px; margin:8px 0 0 56px;
  background:var(--accent-soft); border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);
  border-radius:10px; font-size:13px; color:var(--accent);
}
.fp-quote-banner.show{ display:flex; }
.fp-quote-banner button{
  margin-left:auto; background:transparent !important; border:none; color:var(--accent);
  cursor:pointer; padding:2px 6px !important; border-radius:6px !important;
  font-size:18px; line-height:1; width:auto !important;
}
.fp-comp-foot{
  display:flex; align-items:center; gap:10px;
  margin:12px 0 0 56px;
  padding-top:12px;
  border-top:1px solid var(--border);
}
.fp-comp-tools{ display:inline-flex; align-items:center; gap:4px; }
.fp-img-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%;
  color:var(--accent); background:transparent;
  cursor:pointer; transition:background .15s, transform .12s;
}
.fp-img-btn:hover{ background:var(--accent-soft); transform:scale(1.05); }
.fp-ring{ width:22px; height:22px; flex-shrink:0; }
.fp-ring svg{ width:100%; height:100%; transform:rotate(-90deg); color:var(--accent); }
.fp-ring-bg{ fill:none; stroke:var(--border); stroke-width:3; }
.fp-ring-fg{ fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; transition:stroke-dashoffset .2s, stroke .2s; }
.fp-counter{ font-size:12px; color:var(--text-soft); font-variant-numeric:tabular-nums; min-width:28px; text-align:right; }
.fp-send{
  margin-left:auto;
  padding:9px 22px !important; border-radius:999px !important;
  font-weight:700; width:auto !important;
  transition:transform .15s, opacity .15s;
}
.fp-send:disabled{ opacity:.55; cursor:not-allowed; }
.fp-send:hover:not(:disabled){ transform:translateY(-1px); }
.fp-send.loading{ opacity:.7; }

.fp-login-cta{
  background:var(--surface); border:1px solid var(--border); border-radius:16px;
  padding:16px; margin-bottom:14px;
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
}
.fp-login-cta span{ color:var(--text-muted); font-size:14px; }

/* ─────────── Skeleton ─────────── */
.fp-skel{ display:flex; flex-direction:column; gap:10px; }
.fp-skel-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:16px; padding:14px 16px;
  display:flex; gap:12px;
}
.fp-sk-av{ width:44px; height:44px; border-radius:50%; background:var(--surface-2); flex:0 0 44px; }
.fp-sk-lines{ flex:1; display:flex; flex-direction:column; gap:8px; padding-top:6px; }
.fp-sk-lines > div{ height:10px; border-radius:6px; background:var(--surface-2); }
.fp-sk-lines > div:nth-child(1){ width:30%; }
.fp-sk-lines > div:nth-child(2){ width:90%; }
.fp-sk-lines > div:nth-child(3){ width:70%; }
.fp-skel-card .fp-sk-av,
.fp-skel-card .fp-sk-lines > div{
  background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);
  background-size:200% 100%;
  animation:skel 1.4s ease infinite;
}
@keyframes skel{ from{ background-position:200% 0; } to{ background-position:-200% 0; } }

/* ─────────── Liste / Kart ─────────── */
/* ─── Post detail (fps = feed post single) ─── */

/* Breadcrumb — layout'un dışında, tam genişlik */
.fps-bc-wrap{
  max-width:1040px; margin:0 auto;
  padding:0 16px 14px;
}
.fps-bc{
  display:flex; align-items:center; gap:10px;
}
.fps-bc-btn{
  width:34px; height:34px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:var(--surface); border:1px solid var(--border); border-radius:50%;
  color:var(--text-muted); cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.fps-bc-btn:hover{ background:var(--surface-2); color:var(--text); border-color:var(--text-soft); }
.fps-bc-ol{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; flex-wrap:wrap;
  font-size:14px;
}
.fps-bc-ol li{ display:flex; align-items:center; color:var(--text-muted); }
.fps-bc-ol li+li::before{ content:'\203A'; padding:0 7px; color:var(--border); }
.fps-bc-ol a{ color:var(--text-muted); text-decoration:none; transition:color .15s; }
.fps-bc-ol a:hover{ color:var(--accent); }
.fps-bc-ol li:last-child span{ color:var(--text); font-weight:700; }

/* Thread layout */
.fps-thread{ display:flex; flex-direction:column; gap:10px; }
/* Ana post kartı altına thread çizgisi */
.fps-thread>.fp-card:first-child{ border-radius:16px 16px 0 0; margin-bottom:0; }
.fps-replies{ display:flex; flex-direction:column; }
.fps-reply-group{ display:flex; flex-direction:column; }
.fps-subreplies{
  margin-left:28px;
  padding-left:16px;
  border-left:2px solid var(--border);
  display:flex; flex-direction:column; gap:0;
  position:relative;
}
.fps-subreplies .fp-card{
  border-left:none;
  border-radius:12px;
  margin-top:6px;
}
.fps-subreplies .fp-score-row{ padding-left:0; }
.fps-notfound{ padding:60px 20px; text-align:center; color:var(--text-muted); }

/* Yanıt formu — post ile birleşik */
.fps-reply-wrap{
  background:var(--surface); border:1px solid var(--border);
  border-top:none; border-radius:0 0 16px 16px;
  padding:14px 16px 14px;
  position:relative;
}
.fps-reply-wrap::before{
  content:''; position:absolute;
  top:0; left:37px;
  width:2px; height:20px;
  background:var(--border);
  border-radius:1px;
}
.fps-reply-form{
  display:flex; align-items:flex-start; gap:12px;
}
.fps-reply-av{
  width:36px; height:36px; border-radius:50%;
  object-fit:cover; flex-shrink:0;
  background:var(--surface-2); margin-top:6px;
}
.fps-reply-body{
  flex:1; min-width:0;
}
.fps-reply-body textarea{
  width:100%; background:transparent; border:none;
  color:var(--text); font-size:15px; resize:none;
  padding:6px 0; line-height:1.55; outline:none;
  border-bottom:1px solid var(--border);
}
.fps-reply-body textarea:focus{ border-color:transparent; border-bottom-color:var(--text-soft); box-shadow:none; outline:none; }
.fps-reply-foot{
  display:flex; align-items:center; justify-content:flex-end;
  gap:12px; padding-top:10px;
}
.fps-reply-btn{ border-radius:999px !important; padding:8px 20px !important; }

/* Analytics card — sadece gönderi sahibine */
.fps-analytics-card{ padding:18px !important; }
.fps-analytics-head{
  display:flex; align-items:center; gap:6px;
  font-size:11px; font-weight:800; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px;
}
.fps-views-hero{
  display:flex; align-items:baseline; gap:7px;
  padding-bottom:14px; margin-bottom:14px;
  border-bottom:1px solid var(--border);
}
.fps-views-hero b{ font-size:38px; font-weight:900; line-height:1; color:var(--text); }
.fps-views-hero span{ font-size:14px; color:var(--text-muted); }
.fps-sc-grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:8px;
}
.fps-sc{
  display:flex; align-items:center; gap:9px;
  background:var(--surface-2); border-radius:10px; padding:10px 12px;
}
.fps-sc svg{ color:var(--text-muted); flex-shrink:0; }
.fps-sc-txt{ display:flex; flex-direction:column; gap:1px; }
.fps-sc-txt b{ font-size:17px; font-weight:800; line-height:1; color:var(--text); }
.fps-sc-txt span{ font-size:11px; color:var(--text-muted); }
.fps-sc-link svg,.fps-sc-link .fps-sc-txt b{ color:var(--accent); }
.fps-sc-eng svg,.fps-sc-eng .fps-sc-txt b{ color:var(--success); }

/* Sade istatistik (diğer kullanıcılar) */
.fps-pub-grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:8px; margin-top:12px;
}
.fps-ps{
  background:var(--surface-2); border-radius:10px;
  padding:12px 10px; display:flex; flex-direction:column;
  align-items:center; text-align:center;
}
.fps-ps b{ font-size:20px; font-weight:800; line-height:1; color:var(--text); }
.fps-ps span{ font-size:11px; color:var(--text-muted); margin-top:3px; }

/* Yazar kartı */
.fps-author-card{ padding:0 !important; overflow:hidden; }
.fps-author-link{
  display:flex; align-items:center; gap:11px;
  padding:13px 16px; text-decoration:none; color:inherit;
  transition:background .15s;
}
.fps-author-link:hover{ background:var(--surface-2); }
.fps-author-link img{ width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; background:var(--surface-2); }
.fps-author-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.fps-author-info b{ font-size:14px; font-weight:700; color:var(--text); }
.fps-author-info span{ font-size:12px; color:var(--text-muted); }
.fps-author-link>svg{ color:var(--text-soft); flex-shrink:0; }

.fp-empty{
  text-align:center; color:var(--text-muted);
  padding:48px 16px; background:var(--surface);
  border:1px solid var(--border); border-radius:16px;
}
.fp-empty a{ color:var(--accent); font-weight:700; }

.fp-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px 16px;
  margin-bottom:10px;
  position:relative;
  transition:border-color .15s, background .15s;
  animation:fpIn .25s ease both;
}
.fp-card:hover{ border-color:var(--border-strong); background:color-mix(in srgb, var(--surface) 96%, var(--text) 4%); }
@keyframes fpIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

.fp-repost-banner{
  display:flex; align-items:center; gap:6px;
  font-size:12.5px; color:var(--text-soft);
  margin-bottom:8px; padding-left:56px;
}
.fp-repost-banner a{ color:var(--text-soft); font-weight:600; text-decoration:none; }
.fp-repost-banner a:hover{ color:var(--text); }

.fp-head{ display:flex; align-items:flex-start; gap:12px; }
.fp-av{
  display:block; width:44px; height:44px;
  border-radius:50%; flex:0 0 44px; overflow:hidden;
  background:var(--surface-2);
  position:relative;
}
.fp-av.is-fen{ box-shadow:0 0 0 2px var(--accent); }
.fp-av img{ width:100%; height:100%; object-fit:cover; display:block; }

.fp-id{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.fp-nm-row{ display:flex; align-items:center; gap:5px; min-width:0; flex-wrap:wrap; }
.fp-nm{
  color:var(--text); font-weight:800; text-decoration:none;
  font-size:15px; line-height:1.2;
}
.fp-nm:hover{ text-decoration:underline; }
.fp-nm b{ font-weight:800; }
.fp-verify{ color:var(--accent); flex-shrink:0; }
.fp-handle{ color:var(--text-soft); font-size:13.5px; }
.fp-dot{ color:var(--text-soft); font-size:13.5px; }
.fp-t{ color:var(--text-soft); font-size:13.5px; }

.fp-more{
  width:32px; height:32px;
  background:transparent !important; border:none; color:var(--text-soft);
  cursor:pointer; border-radius:50% !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  padding:0 !important; width:32px !important;
  flex-shrink:0;
  transition:background .15s, color .15s;
}
.fp-more:hover{ background:var(--accent-soft); color:var(--accent); }

.fp-menu{
  position:fixed;
  background:var(--surface); border:1px solid var(--border);
  border-radius:12px; width:230px; padding:6px;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
  z-index:9999;
  animation:fpIn .15s ease;
}
.fp-menu button{
  display:block !important; width:100% !important; text-align:left;
  background:transparent !important; border:none; color:var(--text);
  padding:10px 12px !important; border-radius:8px !important;
  cursor:pointer; font-size:14px;
}
.fp-menu button:hover{ background:var(--surface-2); }
.fp-menu button.danger{ color:#ff5a7a; }
.fp-menu button.danger:hover{ background:rgba(244,63,94,.12); }

.fp-body{
  margin:4px 0 0; padding-left:56px;
  white-space:pre-wrap; word-break:break-word;
  line-height:1.55; font-size:15px; color:var(--text);
}
.fp-body a{ color:var(--accent); text-decoration:none; }
.fp-body a:hover{ text-decoration:underline; }
.fp-mention, .fp-hashtag{ color:var(--accent); font-weight:600; }

/* Medya */
.fp-media{
  margin:10px 0 0 56px;
  display:grid; gap:3px;
  border-radius:16px; overflow:hidden;
  border:1px solid var(--border);
  max-height:520px;
}
.fp-media-1{ grid-template-columns:1fr; }
.fp-media-1 .fp-img{ aspect-ratio:16/10; }
.fp-media-2{ grid-template-columns:1fr 1fr; }
.fp-media-2 .fp-img{ aspect-ratio:1; }
.fp-media-3{ grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; }
.fp-media-3 .fp-img:nth-child(1){ grid-row:1/3; aspect-ratio:auto; }
.fp-media-3 .fp-img{ aspect-ratio:1; }
.fp-media-4{ grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; }
.fp-media-4 .fp-img{ aspect-ratio:1; }
.fp-img{
  display:block; background:var(--surface-2);
  position:relative; overflow:hidden; cursor:zoom-in;
}
.fp-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:opacity .15s, transform .25s; }
.fp-img:hover img{ opacity:.92; transform:scale(1.02); }

/* Alıntı */
.fp-quote{
  display:block; margin:10px 0 0 56px;
  text-decoration:none; color:inherit;
  border:1px solid var(--border); border-radius:14px;
  padding:10px 12px;
  background:var(--surface-2);
  transition:background .15s, border-color .15s;
}
.fp-quote:hover{ background:var(--surface-3); border-color:var(--border-strong); }
.fp-quote-h{ display:flex; align-items:center; gap:7px; margin-bottom:5px; flex-wrap:wrap; }
.fp-quote-h img{ width:22px; height:22px; border-radius:50%; object-fit:cover; }
.fp-quote-h b{ color:var(--text); font-size:13.5px; font-weight:700; }
.fp-quote-h .t{ color:var(--text-soft); font-size:12px; }
.fp-quote-b{
  color:var(--text); font-size:13.5px; line-height:1.5;
  white-space:pre-wrap; word-break:break-word;
}
.fp-quote .fp-media{ margin:8px 0 0; border-radius:10px; max-height:260px; }

/* Etkileşim çubuğu */
.fp-foot{
  display:flex; align-items:center; justify-content:space-between;
  gap:0;
  margin:12px 0 0 56px;
  max-width:480px;
}
.fp-act{
  display:inline-flex !important; align-items:center; gap:6px;
  flex:0 1 auto !important; min-width:0; width:auto !important;
  background:transparent !important; border:none; cursor:pointer;
  color:var(--text-soft); font-size:13px; font-weight:600;
  padding:6px 10px !important; border-radius:999px !important;
  transition:color .15s, background .15s, transform .15s;
}
.fp-act:hover{ color:var(--text); background:var(--surface-2); }
.fp-act:disabled{ opacity:.45; cursor:not-allowed; }
.fp-act .fp-ic{
  width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center;
  transition:transform .25s ease;
}
.fp-act b{ font-weight:600; font-variant-numeric:tabular-nums; }

.fp-act.fp-reply:hover{ color:var(--accent); background:var(--accent-soft); }
.fp-act.fp-rep:hover{ color:#22c55e; background:rgba(34,197,94,.1); }
.fp-act.fp-rep.on{ color:#22c55e; }
.fp-act.fp-rep.spin .fp-ic{ animation:fpSpin .5s ease; }
@keyframes fpSpin{ from{ transform:rotate(0); } to{ transform:rotate(360deg); } }
.fp-act.fp-like:hover{ color:#ff4d6d; background:rgba(255,77,109,.1); }
.fp-act.fp-like.on{ color:#ff4d6d; }
.fp-act.fp-like.pop .fp-ic{ animation:fpPop .45s cubic-bezier(.34,1.56,.64,1); }
@keyframes fpPop{ 0%{ transform:scale(1);} 30%{ transform:scale(1.4);} 60%{ transform:scale(.85);} 100%{ transform:scale(1);} }
.fp-act.fp-quote-btn:hover{ color:var(--accent); background:var(--accent-soft); }
.fp-act.fp-views{ cursor:default !important; color:var(--text-soft) !important; background:transparent !important; }
.fp-act.fp-views:hover{ background:transparent !important; }
.fp-act.fp-bm:hover{ color:var(--accent); background:var(--accent-soft); }
.fp-act.fp-bm.on{ color:var(--accent); }
.fp-act.fp-bm.on .fp-ic svg{ fill:currentColor; }

/* Puan satırı */
.fp-score-row{
  display:flex; align-items:center;
  padding:0 0 2px 56px;
}
.fp-score{
  display:inline-flex; align-items:center; gap:3px;
  font-size:11px; font-weight:700; font-variant-numeric:tabular-nums;
  color:var(--accent); opacity:.6;
  padding:2px 8px; border-radius:20px;
  background:color-mix(in srgb, var(--accent) 9%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);
  pointer-events:none; user-select:none;
  transition:opacity .4s;
}
.fp-score svg{ opacity:.8; flex-shrink:0; }
.fp-score.counted{ opacity:1; }
.fp-act.fp-share-btn:hover{ color:var(--accent); background:var(--accent-soft); }
/* Share menüsü (popover) */
.fp-share-pop{
  position:fixed; background:var(--surface); border:1px solid var(--border);
  border-radius:12px; padding:6px; z-index:9999; width:210px;
  box-shadow:0 12px 28px rgba(0,0,0,.45);
  animation:fpIn .15s ease;
}
.fp-share-pop button{
  display:flex !important; width:100% !important; text-align:left;
  align-items:center; gap:10px;
  background:transparent !important; border:none; color:var(--text);
  padding:9px 12px !important; border-radius:8px !important;
  font-size:14px; cursor:pointer;
}
.fp-share-pop button:hover{ background:var(--surface-2); }

/* Thread */
.fp-thread{
  margin:-4px 0 12px 24px;
  border-left:2px solid var(--border);
  padding-left:16px;
  animation:fpIn .25s ease both;
}
.fp-thread .fp-card{ margin-bottom:8px; background:var(--surface-2); }
.fp-thread-load, .fp-thread-empty{
  padding:14px 16px; text-align:center; color:var(--text-soft);
  font-size:13px; background:var(--surface-2); border-radius:12px;
}

/* Pager */
.fp-pg{
  display:flex; justify-content:center; align-items:center;
  gap:4px; margin:20px 0 4px; flex-wrap:wrap;
}
.fp-pgb{
  display:inline-flex !important; align-items:center; justify-content:center;
  width:auto !important; min-width:36px; height:36px;
  background:var(--surface) !important; border:1px solid var(--border);
  color:var(--text) !important; padding:0 12px !important;
  border-radius:10px !important; text-decoration:none;
  font-size:13.5px; font-weight:600; cursor:pointer;
}
.fp-pgb:hover:not(.on):not(:disabled){ background:var(--surface-2) !important; border-color:var(--border-strong); }
.fp-pgb.on{ background:var(--accent) !important; color:#0a0a0a !important; border-color:var(--accent); }
.fp-pgb:disabled{ opacity:.4; cursor:not-allowed; }
.fp-pgx{ color:var(--text-soft); padding:0 4px; }

/* Modal */
.fp-modal{
  position:fixed; inset:0; z-index:300;
  background:rgba(0,0,0,.65);
  display:flex; align-items:center; justify-content:center;
  padding:16px;
  animation:fpModIn .18s ease;
}
.fp-modal[hidden]{ display:none; }
@keyframes fpModIn{ from{ opacity:0; } to{ opacity:1; } }
.fp-modal-card{
  background:var(--surface); border:1px solid var(--border);
  border-radius:16px; padding:20px;
  max-width:460px; width:100%;
  box-shadow:0 16px 40px rgba(0,0,0,.5);
  animation:fpModUp .25s cubic-bezier(.2,1,.4,1);
}
@keyframes fpModUp{ from{ transform:translateY(20px); opacity:0; } to{ transform:none; opacity:1; } }
.fp-modal-card h3{ margin:0 0 12px; font-size:17px; font-weight:700; }
.fp-modal-card textarea{
  width:100%; background:var(--surface-2); color:var(--text);
  border:1px solid var(--border); border-radius:10px;
  padding:10px 12px; font-family:inherit; font-size:14px;
  resize:none; min-height:90px; line-height:1.5; outline:none;
}
.fp-modal-card textarea:focus{ border-color:var(--border); box-shadow:none; outline:none; }
.fp-modal-act{
  display:flex; justify-content:flex-end; gap:8px; margin-top:14px;
}
.fp-reply-target{
  background:var(--surface-2); border:1px solid var(--border);
  border-left:3px solid var(--accent); border-radius:8px;
  padding:9px 11px; margin-bottom:12px;
  font-size:13px; line-height:1.5;
  color:var(--text-muted); max-height:80px; overflow:hidden;
}
.fp-reply-target b{ color:var(--text); font-weight:700; margin-right:4px; }

/* Reply modal compose row */
.fp-rpy-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
}
.fp-rpy-title{ font-size:17px; font-weight:700; }
.fp-rpy-close{
  background:none; border:none; color:var(--text-muted); cursor:pointer;
  padding:4px; border-radius:6px; display:flex; align-items:center;
  line-height:1; transition:color .15s;
}
.fp-rpy-close:hover{ color:var(--text); background:var(--surface-2); }
.fp-rpy-compose{ display:flex; gap:10px; align-items:flex-start; }
.fp-rpy-av{ width:36px; height:36px; border-radius:50%; object-fit:cover; flex-shrink:0; margin-top:2px; }
.fp-rpy-body{ flex:1; min-width:0; }
.fp-rpy-body textarea{
  width:100%; background:transparent; border:none; outline:none;
  color:var(--text); font-size:15px; resize:none; line-height:1.55;
  font-family:inherit; padding:0; min-height:72px;
}
.fp-rpy-body textarea:focus{ border:none; box-shadow:none; outline:none; }
.fp-rpy-foot{
  display:flex; align-items:center; justify-content:flex-end;
  gap:12px; padding-top:10px; border-top:1px solid var(--border);
  margin-top:8px;
}
.fp-rpy-count{ font-size:13px; color:var(--text-muted); }
.fp-rpy-count.warn{ color:#f59e0b; }
.fp-rpy-send{ border-radius:999px !important; padding:8px 22px !important; }

/* ─────────── Edit modal ─────────── */
.fp-edit-modal{ min-width:min(520px,92vw); }
.fp-edit-ed{
  outline:none; min-height:100px; max-height:320px; overflow-y:auto;
  font-size:15px; line-height:1.55; color:var(--text);
  word-break:break-word; border:1px solid var(--border);
  border-radius:10px; padding:10px 12px; margin-bottom:12px;
  background:var(--surface-2); caret-color:var(--accent);
}
.fp-edit-ed.is-empty::before{
  content:attr(data-placeholder); color:var(--text-muted); pointer-events:none;
}
.fp-edit-ed blockquote{
  border-left:3px solid var(--accent); margin:4px 0; padding:4px 10px;
  background:var(--surface-3,var(--surface)); border-radius:0 6px 6px 0; color:var(--text-soft);
}
.fp-edit-foot{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.fp-edit-tools{ display:flex; gap:4px; margin-right:auto; }
.fp-edit-prev{
  display:grid; gap:6px; grid-template-columns:repeat(4,1fr); margin:0 0 10px;
}
.fp-edit-prev .it{ position:relative; border-radius:10px; overflow:hidden; aspect-ratio:1; background:var(--surface-2); }
.fp-edit-prev img{ width:100%; height:100%; object-fit:cover; display:block; }
.fp-edit-prev .x{
  position:absolute; top:4px; right:4px;
  width:24px; height:24px; border-radius:50%;
  background:rgba(0,0,0,.72); color:#fff;
  border:none; cursor:pointer; font-size:15px; line-height:1;
  display:flex; align-items:center; justify-content:center;
}

/* ─────────── Composer WYSIWYG editor ─────────── */
.fp-comp-editor{
  flex:1; outline:none; min-height:48px; max-height:300px; overflow-y:auto;
  font-size:16px; line-height:1.55; color:var(--text);
  word-break:break-word; overflow-wrap:break-word;
  caret-color:var(--accent);
}
.fp-comp-editor.is-empty::before{
  content:attr(data-placeholder);
  color:var(--text-muted);
  pointer-events:none;
}
.fp-comp-editor blockquote{
  border-left:3px solid var(--accent);
  margin:4px 0; padding:4px 10px;
  background:var(--surface-2);
  border-radius:0 6px 6px 0;
  color:var(--text-soft);
}

/* ─────────── Floating format tooltip ─────────── */
.fp-fmt-tooltip{
  align-items:center; gap:2px; padding:4px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:8px; box-shadow:0 4px 16px rgba(0,0,0,.2);
  pointer-events:auto;
}
.fp-fmt-tooltip button{
  background:none; border:none; color:var(--text);
  border-radius:5px; width:32px; height:30px;
  font-size:14px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .12s; font-family:inherit;
}
.fp-fmt-tooltip button:hover{ background:var(--surface-2); }
.fp-fmt-tooltip button b{ font-weight:700; }
.fp-fmt-tooltip button i{ font-style:italic; }

/* ─────────── Bottom toolbar format buttons ─────────── */
.fp-tb-btn{
  background:none; border:none; color:var(--text-muted);
  border-radius:6px; width:30px; height:30px;
  font-size:13px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:color .15s, background .15s; font-family:inherit;
}
.fp-tb-btn:hover{ color:var(--text); background:var(--surface-2); }
.fp-tb-btn b{ font-weight:700; }
.fp-tb-btn i{ font-style:italic; }

/* ─────────── Inline blockquote in posts ─────────── */
.fp-body .fp-bq{
  display:block;
  border-left:3px solid var(--accent);
  padding:4px 10px;
  margin:2px 0;
  color:var(--text-soft);
  font-size:0.93em;
  background:var(--surface-2);
  border-radius:0 6px 6px 0;
}

/* Lightbox */
.fp-lb{
  position:fixed; inset:0; z-index:400;
  background:rgba(0,0,0,.93);
  display:flex; align-items:center; justify-content:center;
  animation:fpModIn .18s ease;
}
.fp-lb-img{ max-width:94vw; max-height:92vh; object-fit:contain; user-select:none; }
.fp-lb button{
  position:absolute; background:rgba(255,255,255,.1) !important; border:none; color:#fff;
  width:46px; height:46px; border-radius:50% !important;
  font-size:28px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  padding:0 !important;
  transition:background .15s;
}
.fp-lb button:hover{ background:rgba(255,255,255,.2) !important; }
.fp-lb-x{ top:18px; right:18px; }
.fp-lb-prev{ left:18px; top:50%; transform:translateY(-50%); }
.fp-lb-next{ right:18px; top:50%; transform:translateY(-50%); }

/* ─────────── Responsive ─────────── */
@media (max-width:960px){
  /* Mobilde tabs composer ile aynı boyutta + EN ÜSTTE (composer üstünde) */
  .fp-tabs{
    margin:0 0 12px; padding:4px; border-radius:14px;
    border:1px solid var(--border);
  }
}
@media (max-width:640px){
  .fp-card{ padding:12px 14px; border-radius:14px; }
  .fp-body, .fp-foot, .fp-quote, .fp-media{ margin-left:0 !important; padding-left:0 !important; }
  .fp-repost-banner{ padding-left:0; }
  .fp-foot{ max-width:none; justify-content:space-between; gap:0; }
  .fp-foot .fp-act{ padding:6px 2px !important; gap:4px; }
  .fp-score-row{ padding-left:0; }
  .fp-comp{ border-radius:14px; }
  .fp-comp-prev, .fp-comp-foot, .fp-quote-banner{ margin-left:0; }
  .fp-thread{ margin-left:6px; padding-left:10px; }
}
