/* Üretilen sayfaların (ürün sayfaları, yazılar) ortak stili.
   ⚠️ `index.html`, `hakkimda.html` ve `gizlilik.html` BU DOSYAYI KULLANMIYOR —
   onların stili kendi <style> bloklarında satır içi duruyor (tasarım aracı
   çıktısı, bkz. README). Renk/ölçü değiştirirken İKİ TARAFI DA güncelle,
   yoksa sayfalar arası geçiş sırıtır. */

:root{
  --bg:#0B0D0E; --panel:#131719; --panel-2:#101416; --chip:#171B1E;
  --line:#1B2124; --line-2:#23292E;
  --ink:#F2F3F1; --ink-2:#DDE1E0; --mut:#9BA3A9; --mut-2:#8B9399; --mut-3:#6E767C; --mut-4:#5A6268;
  --acc:#3FBF8F; --acc-2:#6FE0B4; --acc-ink:#08110D; --acc-line:#1E3A2E; --acc-bg:#12241D;
  --warn:#D9A441; --warn-line:#3D3018; --warn-bg:#241B0E;
  --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:'Space Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}
a:hover{color:var(--acc-2)}
::selection{background:var(--acc);color:var(--acc-ink)}
img{max-width:100%}

.wrap{max-width:1140px;margin:0 auto;padding:0 32px}
.mono{font-family:var(--mono)}

/* ── üst bar ────────────────────────────────────────────────────────────── */
.top{position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);background:rgba(11,13,14,.78);border-bottom:1px solid var(--line)}
.topbar{max-width:1140px;margin:0 auto;padding:0 32px;height:62px;display:flex;align-items:center;gap:28px}
.brand{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-weight:600}
.topnav{display:flex;gap:22px;margin-left:8px}
.topnav a{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-2)}
.topnav a:hover,.topnav a[aria-current]{color:var(--ink)}
.spacer{flex:1}
.social{display:flex;gap:14px;align-items:center}
.social a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--mut-3)}
.social a:hover{color:var(--acc)}
.langbox{display:inline-flex;border:1px solid var(--line-2);border-radius:999px;overflow:hidden;background:var(--panel)}
.langbox a{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;padding:7px 12px;color:var(--mut-2)}
.langbox a[aria-current]{background:var(--acc);color:var(--acc-ink)}

/* ── başlıklar ──────────────────────────────────────────────────────────── */
.crumb{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-4);padding:38px 0 0}
.crumb a{color:var(--mut-2)}
.crumb a:hover{color:var(--acc)}

.hero{padding:26px 0 0}
.hero-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hero-head img{width:64px;height:64px;border-radius:15px;display:block}
h1{margin:0;font-size:56px;line-height:1.02;letter-spacing:-2px;font-weight:600}
.tagline{margin:24px 0 0;font-size:22px;line-height:1.45;color:var(--ink-2);max-width:34ch;letter-spacing:-.4px}

.badge{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--acc);border:1px solid var(--acc-line);background:var(--acc-bg);border-radius:999px;padding:4px 10px}
.badge.up{text-transform:uppercase}
.badge.pending{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg)}

/* ── düğmeler ───────────────────────────────────────────────────────────── */
.btns{display:flex;flex-wrap:wrap;gap:9px;margin:30px 0 0}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--acc);color:var(--acc-ink);font-size:13.5px;font-weight:600;padding:11px 16px;border-radius:10px;line-height:1}
.btn:hover{background:var(--acc-2);color:var(--acc-ink)}
.btn.ghost{background:var(--chip);color:var(--ink);border:1px solid var(--line-2)}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}
.btn svg{flex:none;opacity:.85}

/* ── bölümler ───────────────────────────────────────────────────────────── */
section{padding:78px 0 0}
.sechead{display:flex;align-items:baseline;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}
.sechead .n{font-family:var(--mono);font-size:12px;color:var(--acc);letter-spacing:.14em}
.sechead h2{margin:0;font-size:13px;font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mut-2);font-weight:500}
.sechead .note{font-family:var(--mono);font-size:11.5px;color:var(--mut-4);margin-left:auto}

.prose{margin:26px 0 0;max-width:68ch}
.prose p{margin:0 0 16px;color:var(--mut);font-size:16.5px;line-height:1.75}
.prose p:last-child{margin-bottom:0}
.prose strong{color:var(--ink);font-weight:600}
.prose h3{margin:34px 0 12px;font-size:21px;letter-spacing:-.5px;font-weight:600;color:var(--ink)}
.prose ul{margin:0 0 16px;padding-left:0;list-style:none}
.prose li{color:var(--mut);font-size:16px;line-height:1.7;margin:0 0 10px;padding-left:17px;position:relative}
.prose li:before{content:'';position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:#2E7D5E}
.prose code{font-family:var(--mono);font-size:.9em;color:var(--ink-2);background:var(--chip);border:1px solid var(--line-2);border-radius:6px;padding:1px 5px}
.prose a{border-bottom:1px solid var(--acc-line)}

.prose pre{margin:20px 0;padding:16px 18px;border:1px solid var(--line-2);border-radius:12px;background:var(--panel-2);overflow-x:auto;font-family:var(--mono);font-size:13px;line-height:1.65;color:var(--ink-2)}
.prose pre code{background:none;border:0;padding:0;font-size:inherit}
.prose blockquote{margin:20px 0;padding:2px 0 2px 18px;border-left:2px solid var(--line-2);color:var(--mut-2);font-size:16px;line-height:1.7}
.prose blockquote p{color:inherit;font-size:inherit}
.prose hr{border:0;border-top:1px solid var(--line);margin:34px 0}
.prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px}
.prose th,.prose td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);color:var(--mut);vertical-align:top}
.prose th{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut-4);font-weight:500}
.prose td strong{color:var(--ink)}
.tablewrap{overflow-x:auto}

/* ── yazı ───────────────────────────────────────────────────────────────── */
.meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-4);margin:20px 0 0;display:flex;gap:14px;flex-wrap:wrap}
.meta .sep{color:#2A3238}
.lead-in{margin:26px 0 0;font-size:19px;line-height:1.6;color:var(--ink-2);max-width:60ch;letter-spacing:-.2px}
.postlist{margin:26px 0 0;border-top:1px solid var(--line)}
.postlist a{display:block;padding:24px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.postlist a:hover{color:var(--ink)}
.postlist a:hover .pt{color:var(--acc)}
.postlist .pm{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut-4)}
.postlist .pt{font-size:24px;font-weight:600;letter-spacing:-.7px;margin-top:9px;line-height:1.25}
.postlist .pd{color:var(--mut);font-size:16px;line-height:1.65;margin-top:9px;max-width:70ch}

/* karar kutusu — sayfanın özgün değeri burada, düz metinden ayrışsın */
.note-card{margin:26px 0 0;border:1px solid var(--line);border-left:2px solid var(--acc);border-radius:0 14px 14px 0;background:var(--panel-2);padding:18px 22px}
.note-card .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut-4);margin-bottom:10px}
.note-card p{margin:0 0 12px;color:var(--mut);font-size:15.5px;line-height:1.72}
.note-card p:last-child{margin-bottom:0}
.note-card strong{color:var(--ink);font-weight:600}
.note-card code{font-family:var(--mono);font-size:.88em;color:var(--ink-2);background:var(--chip);border:1px solid var(--line-2);border-radius:6px;padding:1px 5px}
/* Uyarı kutusu: "bunu yapma / bu tuzağa düştük". Yeşil karar kutusundan
   ayrılsın diye kehribar — `.badge.pending` ile aynı ton ailesi. */
.note-card.warn{border-left-color:var(--warn)}
.note-card.warn .lbl{color:var(--warn)}

/* ── ekran görüntüleri ──────────────────────────────────────────────────── */
.shotpanel{margin:34px 0 0;border:1px solid var(--line-2);border-radius:18px;background:var(--panel);padding:34px 30px 28px}
.shots{display:flex;gap:22px;align-items:flex-start;justify-content:center}
.shots figure{flex:1 1 0;min-width:0;max-width:266px;margin:0}
.shots img{display:block;width:100%;height:auto;border:1px solid var(--line-2);border-radius:12px}
.shots figcaption{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut-4);text-align:center;margin-top:12px}
.wideshot{margin:34px 0 0;border:1px solid var(--line-2);border-radius:18px;background:var(--panel);overflow:hidden;line-height:0}
.wideshot img{display:block;width:100%;height:auto}

/* ── mimari ─────────────────────────────────────────────────────────────── */
.arch{margin:26px 0 0;border:1px solid var(--line);border-radius:14px;background:var(--panel-2);padding:18px 20px;display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.arch .box{border:1px solid var(--line-2);border-radius:10px;background:var(--chip);padding:9px 13px}
.arch .box .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut-4)}
.arch .box .v{font-size:13.5px;color:var(--ink-2);margin-top:3px}
.arch .arrow{display:flex;align-items:center;color:#3D464C;font-family:var(--mono);font-size:13px}

/* ── künye ──────────────────────────────────────────────────────────────── */
.facts{margin:26px 0 0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.facts div{display:flex;gap:16px;padding:13px 20px;border-top:1px solid var(--line);background:var(--panel-2)}
.facts div:first-child{border-top:0}
.facts dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut-4);flex:0 0 172px;padding-top:3px}
.facts dd{margin:0;font-size:15px;color:var(--ink-2);line-height:1.5}

/* ── SSS ────────────────────────────────────────────────────────────────── */
.faq{margin:26px 0 0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-size:16.5px;font-weight:600;color:var(--ink-2);display:flex;gap:14px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary:before{content:'+';font-family:var(--mono);color:var(--acc);flex:none;font-size:15px;line-height:1.5}
.faq details[open] summary:before{content:'–'}
.faq summary:hover{color:var(--ink)}
.faq .a{padding:0 0 20px 28px;color:var(--mut);font-size:16px;line-height:1.75;max-width:66ch}
.faq .a p{margin:0 0 12px}
.faq .a p:last-child{margin-bottom:0}
.faq .a strong{color:var(--ink);font-weight:600}

/* ── kart ızgarası (diğer projeler / yazı listesi) ──────────────────────── */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 0}
.card{display:block;border:1px solid var(--line-2);border-radius:14px;background:var(--panel-2);padding:20px;color:var(--ink)}
.card:hover{border-color:var(--acc);color:var(--ink)}
.card .k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut-4)}
.card .t{font-size:19px;font-weight:600;letter-spacing:-.4px;margin-top:9px;display:flex;align-items:center;gap:10px}
.card .t img{width:26px;height:26px;border-radius:7px;display:block}
.card .d{color:var(--mut);font-size:14.5px;line-height:1.6;margin-top:9px}

/* ── alt bilgi ──────────────────────────────────────────────────────────── */
footer{margin:110px 0 0;padding:26px 0 56px;border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;flex-wrap:wrap}
footer span,footer a{font-family:var(--mono);font-size:12.5px}
footer span{color:var(--mut-4)}
footer a{color:var(--mut-2)}
footer a:hover{color:var(--acc)}
footer .dom{color:#3D464C;margin-left:auto}

/* ── mobil ──────────────────────────────────────────────────────────────────
   ⚠️ index.html'deki blokla aynı gerekçe (bkz. README): tasarım sabit masaüstü
   düzeninde geldi. Burada satır içi stil olmadığı için `!important` GEREKMİYOR. */
@media (max-width:900px){
  .wrap,.topbar{padding-left:20px;padding-right:20px}
  .topbar{height:auto;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;gap:10px 16px}
  .topbar .brand{order:1}
  .topbar .langbox{order:2;margin-left:auto}
  .topbar .topnav{order:3;flex-basis:100%;margin-left:0;gap:12px 16px;flex-wrap:wrap}
  .topnav a{font-size:10.5px}
  .spacer,.social{display:none}
  h1{font-size:clamp(32px,9vw,56px);letter-spacing:-1.2px}
  .tagline{font-size:18.5px}
  .hero-head img{width:52px;height:52px;border-radius:12px}
  section{padding-top:56px}
  .shotpanel{padding:20px 16px 14px}
  .shots{gap:14px}
  .shots figure:last-child{display:none}
  .cards{grid-template-columns:1fr}
  .facts div{flex-direction:column;gap:5px}
  .facts dt{flex:none}
}
@media (max-width:520px){
  .shots figure:nth-child(3){display:none}
}
