/* =========================================
   BİLİŞİMCİ HOCAM — BLOG.CSS
   Blog.html sayfası özeli
   HTML içinden çıkartıldı.
   ========================================= */

  @keyframes fadeUp  { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
  @keyframes floatOrb{ 0%,100%{transform:translate(0,0)}50%{transform:translate(20px,-15px)} }
  @keyframes scanline{ 0%{transform:translateY(-100%)}100%{transform:translateY(100vh)} }
  @keyframes gradShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
  @keyframes blink   {0%,100%{opacity:1}50%{opacity:0}}

  .page-wrap {
    position:relative;
    z-index:1;
    width:min(1440px, calc(100vw - 32px));
    margin:0 auto;
    padding:24px 0 72px;
  }

  /* ── HERO ── */
  .blog-hero {
    position:relative; overflow:hidden;
    padding:18px 22px;
    margin-bottom:14px;
    border:1px solid var(--border);
    border-radius:26px;
    background:
      radial-gradient(circle at 82% 18%, rgba(var(--primary-rgb), .22), transparent 22%),
      radial-gradient(circle at 14% 0%, rgba(124,58,237,.12), transparent 28%),
      color-mix(in srgb,var(--card) 88%,transparent);
    box-shadow:0 24px 54px rgba(0,0,0,.16);
  }
  .blog-hero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
      radial-gradient(ellipse 50% 70% at 20% 30%, rgba(124,58,237,.10) 0%, transparent 60%),
      radial-gradient(ellipse 40% 60% at 80% 60%, rgba(0,212,255,.08) 0%, transparent 55%),
      radial-gradient(ellipse 30% 40% at 50% 90%, rgba(16,185,129,.06) 0%, transparent 50%);
  }
  .blog-hero::after {
    content:"";
    position:absolute;
    inset:auto -60px -80px auto;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(var(--primary-rgb), .18), transparent 68%);
    filter:blur(12px);
    pointer-events:none;
  }

  .blog-hero-content {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
    align-items:center;
    animation:fadeUp .6s both;
  }
  .blog-hero-copy {
    display:grid;
    gap:10px;
    align-content:start;
  }
  .blog-eyebrow {
    display:inline-flex; align-items:center; gap:.6rem;
    width:fit-content;
    font-size:.68rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    color:var(--accent); text-transform:uppercase; letter-spacing:.15em;
    background:rgba(var(--primary-rgb),.1); border:1px solid rgba(var(--primary-rgb),.2);
    padding:6px 10px; border-radius:999px;
  }
  .blog-hero-title {
    max-width:18ch;
    font-size:clamp(1.7rem,3.4vw,2.9rem); font-weight:800;
    line-height:1.02; letter-spacing:-.07em; margin:0;
  }
  .blog-hero-title .grad {
    display:block;
    background:linear-gradient(135deg,var(--accent),var(--accent2),var(--accent3));
    background-size:200% auto;
    -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
    animation:gradShift 5s linear infinite;
  }
  .blog-hero-sub {
    font-size:.9rem;
    color:color-mix(in srgb, var(--text2) 88%, white 12%);
    line-height:1.55;
    margin:0;
    max-width:72ch;
  }
  .blog-hero-chips,
  .blog-panel-meta {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .blog-mini-pill {
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border:1px solid var(--border);
    border-radius:999px;
    background:rgba(255,255,255,.04);
    color:var(--text2);
    font:700 .68rem/1 'JetBrains Mono', monospace;
  }

  .blog-hero-stats {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .blog-stat-card {
    min-height:86px;
    display:grid;
    align-content:center;
    padding:12px;
    border:1px solid var(--border);
    border-radius:14px;
    background:rgba(255,255,255,.04);
  }
  .blog-stat-card strong {
    display:block;
    font-size:1.15rem;
    font-weight:900;
    color:var(--text1);
    line-height:1;
    margin-bottom:.28rem;
  }
  .blog-stat-card span {
    font-size:.62rem;
    font-family:'JetBrains Mono', monospace;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--text3);
  }
  .blog-stat-card:first-child {
    grid-row:span 2;
  }
  .blog-stat-card:first-child strong {
    font-size:clamp(2rem,4vw,3.4rem);
  }

  /* Kategori filtreleri */
  .blog-filters {
    display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center;
    position:relative; z-index:2; margin-top:1rem;
  }
  .filter-btn {
    display:inline-flex; align-items:center; gap:.4rem;
    padding:.38rem .9rem; border-radius:8px; font-size:.72rem;
    font-family:'JetBrains Mono',monospace; font-weight:700; letter-spacing:.04em;
    border:1px solid var(--border); background:var(--card); color:var(--text2);
    cursor:pointer; transition:all .2s; text-transform:uppercase;
  }
  .filter-btn:hover, .filter-btn.active { border-color:var(--accent); color:var(--accent); background:rgba(0,212,255,.08); }
  .filter-btn.active { box-shadow:0 0 16px rgba(0,212,255,.15); }

  /* ── ÖNCÜ YAZI ── */
  .editorial-stage {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border: 1px solid var(--border);
    border-radius:26px;
    background: color-mix(in srgb, var(--card) 88%, transparent);
    box-shadow:0 24px 54px rgba(0,0,0,.16);
    overflow:hidden;
  }
  .blog-panel-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px;
    border-bottom:1px solid var(--border);
    background:rgba(255,255,255,.025);
  }
  .blog-panel-title {
    display:grid;
    gap:4px;
  }
  .blog-panel-title strong {
    color:var(--text1);
    font:800 1.1rem/1.2 'Sora',sans-serif;
  }
  .blog-panel-title span {
    color:var(--text3);
    font-size:.82rem;
    line-height:1.5;
  }
  .blog-panel-body {
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:14px;
    padding:16px;
  }
  .editorial-col {
    min-width: 0;
  }
  .editorial-main,
  .editorial-side {
    padding: 0;
  }
  .section-eyebrow {
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.68rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    color:var(--accent); text-transform:uppercase; letter-spacing:.12em; margin-bottom:.8rem;
  }
  .section-eyebrow::before { content:''; width:16px; height:1px; background:var(--accent); }

  .featured-card {
    display:block;
    background:color-mix(in srgb,var(--bg3) 72%,transparent); border:1px solid var(--border); border-radius:14px;
    overflow:hidden; transition:box-shadow .3s;
    animation:fadeUp .5s .05s both;
  }
  .featured-card:hover { box-shadow:0 20px 60px rgba(0,0,0,.4), 0 0 0 1px rgba(0,212,255,.15); }
  .featured-card.is-locked {
    opacity: .78;
    cursor: default;
  }
  .featured-card.is-locked:hover {
    box-shadow: none;
  }

  .featured-content {
    padding:clamp(1rem,1.5vw,1.35rem);
    display:flex; flex-direction:column; justify-content:space-between;
  }
  .post-meta { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin-bottom:1rem; }
  .post-cat {
    display:inline-flex; align-items:center; gap:.3rem;
    font-size:.65rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    padding:.2rem .6rem; border-radius:4px; text-transform:uppercase; letter-spacing:.06em;
  }
  .post-date { font-size:.68rem; color:var(--text3); font-family:'JetBrains Mono',monospace; }
  .post-read { font-size:.68rem; color:var(--text3); font-family:'JetBrains Mono',monospace; }
  .post-read::before { content:'·'; margin-right:.4rem; }

  .featured-title {
    font-size:clamp(1.15rem,1.55vw,1.55rem); font-weight:800;
    letter-spacing:-.03em; color:var(--text); line-height:1.2; margin-bottom:.8rem;
  }
  .featured-excerpt { font-size:clamp(.82rem,.9vw,.95rem); color:var(--text2); line-height:1.68; margin-bottom:1.2rem; }
  .featured-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.8rem; }
  .post-tags { display:flex; gap:.4rem; flex-wrap:wrap; }
  .post-tag {
    font-size:.62rem; font-family:'JetBrains Mono',monospace; font-weight:700;
    padding:.15rem .5rem; border-radius:4px;
    background:var(--bg3); color:var(--text3); border:1px solid var(--border2);
  }
  .read-btn {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.78rem; font-weight:700; color:var(--accent);
    font-family:'JetBrains Mono',monospace; text-decoration:none;
    transition:gap .2s;
  }
  .read-btn:hover { gap:.7rem; }
  .read-btn i { font-size:.65rem; }

  /* ── YAZI KARTLARI GRID ── */
  .posts-wrap {
    width:100%; margin:0 auto;
    padding:0;
  }
  .posts-result {
    font-size:.76rem;
    font-family:'JetBrains Mono', monospace;
    color:var(--text3);
    text-transform:uppercase;
    letter-spacing:.08em;
    margin-bottom:.8rem;
  }
  .timeline-list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding-left: 1.15rem;
  }
  .timeline-list::before {
    content: "";
    position: absolute;
    left: .28rem;
    top: .35rem;
    bottom: .35rem;
    width: 2px;
    background: linear-gradient(to bottom, rgba(var(--primary-rgb), .55), rgba(124,58,237,.2));
  }
  .post-card {
    background:var(--card); border:1px solid var(--border); border-radius:8px;
    overflow:hidden; display:flex; flex-direction:column;
    transition:transform .2s, border-color .2s, box-shadow .2s;
    animation:fadeUp .5s both; text-decoration:none;
  }
  .timeline-card {
    position: relative;
    display: block;
    margin-left: .35rem;
    padding: .85rem .9rem;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--card);
    text-decoration: none;
    transition: transform .2s, border-color .2s;
  }
  .timeline-card::before {
    content: "";
    position: absolute;
    left: -1.15rem;
    top: 1.15rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent);
    border: 3px solid var(--bg1);
    box-shadow: 0 0 0 4px rgba(var(--primary-rgb), .1);
  }
  .timeline-card.is-locked::before {
    background: #64748b;
  }
  .timeline-card:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--primary-rgb), .26);
  }
  .timeline-card.is-locked:hover {
    transform: none;
    border-color: var(--border);
  }
  .timeline-period {
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    font-size:.62rem;
    font-family:'JetBrains Mono', monospace;
    text-transform:uppercase;
    letter-spacing:.07em;
    color:var(--accent);
    margin-bottom:.35rem;
  }
  .timeline-card.is-locked .timeline-period {
    color: var(--text3);
  }
  .timeline-title {
    font-size: .88rem;
    font-weight: 800;
    color: var(--text1);
    margin-bottom: .3rem;
    line-height: 1.35;
  }
  .timeline-excerpt {
    font-size: .74rem;
    line-height: 1.58;
    color: var(--text2);
  }
  .timeline-status {
    margin-top: .7rem;
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    font-size:.62rem;
    font-family:'JetBrains Mono', monospace;
    color: var(--text3);
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .post-card:nth-child(1){animation-delay:.05s} .post-card:nth-child(2){animation-delay:.1s}
  .post-card:nth-child(3){animation-delay:.15s} .post-card:nth-child(4){animation-delay:.2s}
  .post-card:nth-child(5){animation-delay:.25s} .post-card:nth-child(6){animation-delay:.3s}
  .post-card:hover { transform:translateY(-4px); border-color:rgba(0,212,255,.25); box-shadow:0 12px 40px rgba(0,0,0,.3); }
  .post-card.is-locked {
    opacity:.82;
    cursor:default;
  }
  .post-card.is-locked:hover {
    transform:none;
    border-color:var(--border);
    box-shadow:none;
  }

  .post-body { padding:1.2rem; flex:1; display:flex; flex-direction:column; gap:.6rem; }
  .post-title { font-size:clamp(.88rem,1.05vw,1.05rem); font-weight:700; color:var(--text); line-height:1.4; }
  .post-excerpt { font-size:.78rem; color:var(--text2); line-height:1.6; flex:1; }
  .post-footer { display:flex; align-items:center; justify-content:space-between; padding-top:.7rem; border-top:1px solid var(--border2); margin-top:.3rem; }

  .posts-empty {
    margin-top:1rem;
    padding:2rem 1.25rem;
    border:1px dashed var(--border);
    border-radius:8px;
    text-align:center;
    background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
  }
  .posts-empty-icon {
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin:0 auto .75rem;
    border-radius:8px;
    color:var(--accent);
    background:rgba(var(--primary-rgb), .1);
    border:1px solid rgba(var(--primary-rgb), .2);
  }
  .posts-empty-title {
    font-size:1rem;
    font-weight:800;
    color:var(--text1);
    margin-bottom:.35rem;
  }
  .posts-empty-sub {
    font-size:.82rem;
    line-height:1.6;
    color:var(--text2);
  }

  @media(max-width:1000px){
    .blog-hero-content,
    .blog-panel-body{grid-template-columns:1fr;}
  }
  @media(max-width:760px){
    .blog-hero-stats{grid-template-columns:1fr;}
    .blog-stat-card:first-child{grid-row:auto;}
  }
  @media(max-width:600px){
    .blog-panel-head{display:grid;padding:14px;}
    .blog-panel-body{padding:12px;}
    .timeline-list{padding-left:.95rem;}
  }

  @media(max-width:768px){
    html, body { overflow-x:hidden; }
    .page-wrap{width:min(100vw - 20px, 1440px);padding:14px 0 56px;}
    .blog-hero{
      min-height:auto;
      padding:14px;
      margin-bottom:12px;
      border-radius:18px;
    }
    .blog-hero-content{max-width:100%;}
    .blog-eyebrow{font-size:.62rem;padding:.34rem .72rem;margin-bottom:1rem;}
    .blog-hero-title{font-size:clamp(1.7rem,8vw,2.25rem);line-height:1.08;letter-spacing:-.04em;}
    .blog-hero-sub{font-size:.88rem;line-height:1.58;margin-bottom:0;}
    .blog-hero-stats{grid-template-columns:1fr;max-width:360px;}
    .editorial-stage{border-radius:18px;}
    .posts-wrap{padding-inline:0;}
    .featured-content{padding:1rem;}
    .featured-title{font-size:1.08rem;}
    .featured-footer,.post-footer{align-items:flex-start;}
    .timeline-card{margin-left:.2rem;padding:.9rem;}
  }

  @media(max-width:380px),(max-height:700px) and (max-width:768px){
    .blog-hero{padding-top:12px;padding-bottom:12px;}
    .blog-hero-title{font-size:clamp(1.75rem,8vw,2.25rem);}
    .blog-hero-sub{font-size:.84rem;}
  .blog-stat-card{padding:.65rem .75rem;}
  }

/* Kart renkleri ve keskin ayrimlar */
.blog-hero,
.editorial-stage {
  border: 2px solid rgba(var(--primary-rgb), .34);
}

.blog-stat-card,
.featured-card,
.timeline-card,
.post-tag,
.blog-mini-pill {
  border-width: 2px;
}

.blog-stat-card:nth-child(1) {
  background: linear-gradient(135deg, rgba(249,115,22,.18), rgba(249,115,22,.045));
  border-color: rgba(249,115,22,.48);
}

.blog-stat-card:nth-child(2) {
  background: linear-gradient(135deg, rgba(34,197,94,.16), rgba(34,197,94,.04));
  border-color: rgba(34,197,94,.42);
}

.blog-stat-card:nth-child(3) {
  background: linear-gradient(135deg, rgba(6,182,212,.16), rgba(6,182,212,.04));
  border-color: rgba(6,182,212,.42);
}

.blog-mini-pill:nth-child(1),
.post-tag:nth-child(1) {
  color: #22d3ee;
  border-color: rgba(34,211,238,.48);
  background: rgba(34,211,238,.1);
}

.blog-mini-pill:nth-child(2),
.post-tag:nth-child(2) {
  color: #fb923c;
  border-color: rgba(251,146,60,.5);
  background: rgba(251,146,60,.1);
}

.blog-mini-pill:nth-child(3),
.post-tag:nth-child(3) {
  color: #34d399;
  border-color: rgba(52,211,153,.48);
  background: rgba(52,211,153,.1);
}

.featured-card {
  border-color: rgba(249,115,22,.46);
  border-left: 5px solid #fb923c;
  background:
    linear-gradient(135deg, rgba(249,115,22,.12), transparent 34%),
    color-mix(in srgb,var(--bg3) 76%,transparent);
}

.timeline-list::before {
  width: 3px;
  background: linear-gradient(to bottom, #fb923c, #22d3ee, #34d399);
}

.timeline-card {
  border-color: rgba(148,163,184,.34);
  background:
    linear-gradient(135deg, rgba(255,255,255,.05), transparent 42%),
    color-mix(in srgb,var(--card) 92%,transparent);
}

.timeline-card:nth-child(3n+1) {
  border-color: rgba(34,211,238,.45);
  background: linear-gradient(135deg, rgba(34,211,238,.12), rgba(34,211,238,.025));
}

.timeline-card:nth-child(3n+2) {
  border-color: rgba(167,139,250,.45);
  background: linear-gradient(135deg, rgba(167,139,250,.12), rgba(167,139,250,.025));
}

.timeline-card:nth-child(3n) {
  border-color: rgba(52,211,153,.45);
  background: linear-gradient(135deg, rgba(52,211,153,.12), rgba(52,211,153,.025));
}
  
