/* ========================================================
   MSGSÜ Şikayet & Dilek Panosu — Modern, Sade ve Göz Yormayan Tasarım
   ======================================================== */

:root {
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Açık Tema (Varsayılan) */
  --bg-page: #f8fafc;
  --bg-card: #ffffff;
  --bg-subtle: #f1f5f9;
  --bg-hover: #e2e8f0;
  --bg-input: #ffffff;

  /* Metin renkleri */
  --ink: #0f172a;            /* Ana koyu metin */
  --ink-soft: #64748b;       /* İkincil yumuşak metin */
  --ink-muted: #94a3b8;      /* Yardımcı soluk metin */

  /* Çizgiler */
  --border: #e2e8f0;         /* Standart ince kenarlık */
  --border-subtle: #f1f5f9;  /* Çok açık ayrım çizgisi */

  /* Vurgu & Link */
  --accent: #1e293b;         /* Minimalist ana vurgu */
  --accent-tint: #f1f5f9;
  --link: #2563eb;           /* Sakin mavi */
  --link-visited: #475569;

  /* Durum renkleri */
  --ok: #166534;
  --ok-bg: #f0fdf4;
  --err: #991b1b;
  --err-bg: #fef2f2;
}

/* Karanlık Tema */
:root[data-theme="dark"], html[data-theme="dark"] {
  --bg-page: #0b0f19;
  --bg-card: #131b2e;
  --bg-subtle: #1a243b;
  --bg-hover: #243252;
  --bg-input: #0d1527;

  --ink: #f8fafc;
  --ink-soft: #94a3b8;
  --ink-muted: #64748b;

  --border: #243252;
  --border-subtle: #1a243b;

  --accent: #f8fafc;
  --accent-tint: #1a243b;
  --link: #60a5fa;
  --link-visited: #93c5fd;

  --ok: #4ade80;
  --ok-bg: #052e16;
  --err: #f87171;
  --err-bg: #450a0a;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]), html:not([data-theme="light"]) {
    --bg-page: #0b0f19;
    --bg-card: #131b2e;
    --bg-subtle: #1a243b;
    --bg-hover: #243252;
    --bg-input: #0d1527;

    --ink: #f8fafc;
    --ink-soft: #94a3b8;
    --ink-muted: #64748b;

    --border: #243252;
    --border-subtle: #1a243b;

    --accent: #f8fafc;
    --accent-tint: #1a243b;
    --link: #60a5fa;
    --link-visited: #93c5fd;

    --ok: #4ade80;
    --ok-bg: #052e16;
    --err: #f87171;
    --err-bg: #450a0a;
  }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html {
  background: var(--bg-page);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 24px 16px;
  background: var(--bg-page);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 14.5px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

.page {
  max-width: 860px;
  margin: 0 auto;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 24px 28px 16px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.04), 0 1px 2px -1px rgba(0, 0, 0, 0.02);
}

a {
  color: var(--link);
  text-decoration: none;
  transition: color .12s ease;
}
a:hover {
  text-decoration: underline;
}
a:visited {
  color: var(--link-visited);
}

/* Üst Başlık & Menü */
.masthead {
  text-align: left;
  border-bottom: 1px solid var(--border);
  padding-bottom: 14px;
  margin-bottom: 18px;
}
.masthead-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.masthead h1, .sitename {
  margin: 0;
  font-size: 17.5px;
  font-weight: 700;
  letter-spacing: -0.015em;
  line-height: 1.25;
}
.masthead h1 a, .sitename a {
  color: var(--ink);
  text-decoration: none;
}
.masthead h1 a:hover, .sitename a:hover {
  text-decoration: none;
  opacity: 0.85;
}

/* Logo & Marka Başlığı */
.brand-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--ink);
  text-decoration: none;
}
.brand-logo {
  height: 28px;
  width: auto;
  display: inline-block;
  flex-shrink: 0;
  transition: transform .15s ease;
  vertical-align: middle;
}
.brand-link:hover .brand-logo {
  transform: scale(1.05);
}
[data-theme="dark"] .brand-logo {
  filter: brightness(0) invert(1);
  opacity: 0.95;
}
.tagline {
  margin: 2px 0 0;
  color: var(--ink-soft);
  font-size: 12.5px;
  font-style: normal;
  line-height: 1.4;
}
.topnav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13.5px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
}
.topnav a {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  color: var(--ink);
  text-decoration: none;
  padding: 6px 13px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-weight: 600;
  letter-spacing: -0.01em;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all .15s ease;
}
.topnav a:hover {
  color: var(--ink);
  background: var(--bg-subtle);
  border-color: #94a3b8;
  text-decoration: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
}
.topnav a:active {
  transform: translateY(0);
}
.topnav a[aria-current="page"], .sitenav a[aria-current="page"] {
  color: #ffffff !important;
  background: #0f172a !important;
  border-color: #0f172a !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.2) !important;
}
[data-theme="dark"] .topnav a[aria-current="page"], [data-theme="dark"] .sitenav a[aria-current="page"] {
  color: #0f172a !important;
  background: #f8fafc !important;
  border-color: #f8fafc !important;
}

/* Kutular & Bölümler */
.box {
  border: 1px solid var(--border);
  background: var(--bg-card);
  border-radius: 8px;
  padding: 16px 18px;
  margin-bottom: 18px;
}
.box h2 {
  margin: -16px -18px 14px;
  padding: 12px 18px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.02em;
  background: var(--bg-subtle);
  border-bottom: 1px solid var(--border);
  color: var(--ink);
  font-variant: normal;
  border-radius: 8px 8px 0 0;
}
.box.small {
  font-size: 13.5px;
  color: var(--ink-soft);
}
.box.small p {
  margin: 0 0 10px;
  line-height: 1.55;
}
.box.small p:last-child {
  margin-bottom: 0;
}

/* Form Elemanları */
.formtable { width: 100%; border-collapse: collapse; }
.formtable td { padding: 6px 4px; vertical-align: top; }
.formtable td:first-child { width: 90px; padding-top: 10px; font-weight: 600; font-size: 13.5px; color: var(--ink); }

input, select, textarea, button {
  font-family: inherit;
  font-size: 14px;
  color: var(--ink);
}
input, select, textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border);
  background: var(--bg-input);
  color: var(--ink);
  border-radius: 6px;
  transition: border-color .15s, box-shadow .15s;
}
textarea { resize: vertical; min-height: 90px; }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--link);
  box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.2);
}

button {
  padding: 6px 16px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  transition: all .15s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}
button:hover {
  background: var(--bg-subtle);
  border-color: #94a3b8;
}
button:active {
  transform: translateY(1px);
}
button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}
button.primary {
  background: var(--ink);
  color: var(--bg-card);
  border: 1px solid var(--ink);
  font-weight: 600;
}
button.primary:hover {
  opacity: 0.92;
}
[data-theme="dark"] button.primary {
  background: #f8fafc;
  color: #0f172a;
  border-color: #f8fafc;
}
[data-theme="dark"] button.primary:hover {
  background: #e2e8f0;
  border-color: #e2e8f0;
  color: #0f172a;
}

.hint { font-size: 12px; color: var(--ink-muted); text-align: right; margin-top: 3px; }
.formmsg { font-size: 13.5px; margin: 4px 0; }
.formmsg.ok { color: var(--ok); }
.formmsg.err { color: var(--err); }

/* Filtre Satırı */
.filters {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}
.filters input[type="search"] {
  width: 100%;
  font-size: 14px;
  padding: 9px 12px;
  border-radius: 6px;
}
.filtergrid {
  display: grid;
  grid-template-columns: 1fr 1.6fr 1.3fr;
  gap: 10px;
}
.filters .filtergrid label {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 12px;
  font-weight: 500;
  color: var(--ink-soft);
}
.filters .filtergrid select {
  width: 100%;
  font-size: 13.5px;
  padding: 7px 10px;
}
.resultinfo {
  font-size: 12.5px;
  color: var(--ink-soft);
  margin: 10px 0 6px;
}

/* Gönderi Kartları */
.post {
  border-bottom: 1px solid var(--border);
  padding: 16px 0;
}
.post:last-child { border-bottom: none; }
.post h3 {
  margin: 0 0 5px;
  font-size: 16.5px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.post .meta {
  font-size: 12.5px;
  color: var(--ink-soft);
  margin-bottom: 8px;
}
.post .meta b {
  color: var(--ink);
  font-weight: 500;
}
.post .body {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
  margin: 0 0 10px;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Etiketler (Tag): Yumuşak, Göz Yormayan Pastel Tonlar */
.tag {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 1px 7px;
  border-radius: 4px;
  margin-right: 6px;
  vertical-align: 1px;
}
.tag-sikayet { background: #fef2f2; color: #991b1b; border: 1px solid #fee2e2; }
.tag-dilek   { background: #f0fdf4; color: #166534; border: 1px solid #dcfce7; }
.tag-istek   { background: #eff6ff; color: #1e40af; border: 1px solid #dbeafe; }
.tag-problem { background: #fefce8; color: #854d0e; border: 1px solid #fef08a; }

[data-theme="dark"] .tag-sikayet { background: rgba(239, 68, 68, 0.15); color: #fca5a5; border-color: rgba(239, 68, 68, 0.3); }
[data-theme="dark"] .tag-dilek   { background: rgba(34, 197, 94, 0.15); color: #86efac; border-color: rgba(34, 197, 94, 0.3); }
[data-theme="dark"] .tag-istek   { background: rgba(59, 130, 246, 0.15); color: #93c5fd; border-color: rgba(59, 130, 246, 0.3); }
[data-theme="dark"] .tag-problem { background: rgba(234, 179, 8, 0.15); color: #fde047; border-color: rgba(234, 179, 8, 0.3); }

.likebar { font-size: 13px; }
.postactions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.pbtn {
  min-height: 30px;
  padding: 3px 10px;
  font-size: 12px;
  font-weight: 500;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--ink-soft);
  cursor: pointer;
  transition: all .15s ease;
  user-select: none;
  flex: 0 0 auto;
}
.pbtn:hover {
  background: var(--bg-subtle);
  border-color: #94a3b8;
  color: var(--ink);
}
.pbtn svg.ico {
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
  transition: transform .15s ease;
}
.pbtn:hover svg.ico {
  transform: scale(1.1);
}
.pbtn .n {
  font-variant-numeric: tabular-nums;
  font-size: 12px;
  font-weight: 600;
  color: var(--ink-soft);
}
.pbtn.liked {
  background: #fdf2f2;
  border-color: #fecdd3;
  color: #be123c;
}
.pbtn.liked svg.ico {
  color: #be123c;
  fill: #be123c;
}
.pbtn.liked .n {
  color: #be123c;
}
.pbtn.heart-pop svg.ico {
  animation: heartPop .22s ease-out;
}
@keyframes heartPop {
  0% { transform: scale(1); }
  50% { transform: scale(1.25); }
  100% { transform: scale(1); }
}
.pbtn.on {
  background: var(--bg-subtle);
  border-color: #cbd5e1;
  color: var(--ink);
}
[data-theme="dark"] .pbtn.liked {
  background: rgba(244, 63, 94, 0.18);
  border-color: rgba(244, 63, 94, 0.35);
  color: #fb7185;
}
[data-theme="dark"] .pbtn.liked svg.ico {
  color: #fb7185;
  fill: #fb7185;
}
[data-theme="dark"] .pbtn.liked .n {
  color: #fb7185;
}
.pbtn-share {
  padding: 4px 9px;
}
.pbtn.copied {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: var(--ok);
}
[data-theme="dark"] .pbtn.copied {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.3);
  color: #4ade80;
}
.pbtn.copied .copynote {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--ok);
}
.pbtn.danger {
  color: var(--err);
  border-color: transparent;
  background: transparent;
  padding: 4px 8px;
  margin-left: auto;
}
.pbtn.danger:hover {
  background: var(--err-bg);
  border-color: #fecdd3;
}
.permalink {
  font-size: 12px;
  margin-left: 6px;
  color: var(--ink-muted);
}
mark { background: #fef08a; color: inherit; padding: 1px 3px; border-radius: 2px; }
[data-theme="dark"] mark { background: rgba(234, 179, 8, 0.3); color: #fde047; }

.more { text-align: center; margin-top: 14px; }
.more button { min-height: 38px; padding: 6px 22px; font-weight: 500; }

.footer {
  text-align: center;
  font-size: 12px;
  color: var(--ink-muted);
  margin-top: 24px;
}
.footer hr {
  border: none;
  border-top: 1px solid var(--border);
  margin: 16px 0;
}
.footer a { color: var(--ink-soft); }
.footer a:hover { color: var(--ink); }

/* Kullanıcı Çubuğu & Tema Butonu */
.userbar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  margin: 0;
  flex-wrap: wrap;
}
.userbar a, .userbar .linkbtn {
  display: inline-block;
  padding: 4px 6px;
  font-size: 13px;
}
.userbar .me { color: var(--ink-soft); }
.userbar .me b { color: var(--ink); font-weight: 600; }
.userbar span:first-child, #loggedIn { display: inline-flex; align-items: center; gap: 6px; }
#loggedIn[hidden], #loggedOut[hidden] { display: none !important; }

.theme-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 6px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--ink);
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  transition: all .15s ease;
  font-size: 15px;
  line-height: 1;
  flex-shrink: 0;
}
.theme-btn:hover {
  background: var(--bg-subtle);
  border-color: #94a3b8;
  transform: translateY(-1px);
}
.theme-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1;
}
.theme-icon::before {
  content: "🌙";
}
[data-theme="dark"] .theme-icon::before {
  content: "☀️";
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-icon::before,
  html:not([data-theme="light"]) .theme-icon::before {
    content: "☀️";
  }
}
.accountbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  padding: 8px 12px;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: 8px;
  margin-bottom: 16px;
  font-size: 13px;
}
.accountbar p { margin: 0; flex: 1 1 240px; }

/* Gönderi Yazma Formu */
.compose-intro { display: flex; flex-direction: column; gap: 8px; }
.compose-intro p { margin: 0; }
.stackform { display: flex; flex-direction: column; gap: 12px; }
.stackform .field label { font-size: 13px; font-weight: 600; color: var(--ink); }
.row2 { display: grid; grid-template-columns: 1fr 2fr; gap: 10px; }
.actionsrow { display: flex; gap: 8px; flex-wrap: wrap; }

/* Yorumlar */
.comments {
  margin: 12px 0 0 6px;
  padding-left: 12px;
  border-left: 2px solid var(--border);
  font-size: 13.5px;
}
.comment { padding: 8px 0; border-bottom: 1px solid var(--border-subtle); }
.comment:last-of-type { border-bottom: none; }
.comment .cmeta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 12px; color: var(--ink-soft); }
.comment .csil { padding: 2px 6px; min-height: 0; font-size: 12px; }
.comment .ctext { font-size: 13.5px; line-height: 1.5; color: var(--ink); margin: 3px 0 0; }
.cform { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.cform textarea { width: 100%; font-size: 13.5px; min-height: 60px; }
.cform button { align-self: flex-end; font-size: 12.5px; padding: 5px 14px; }

.linkbtn {
  background: none; border: none; padding: 0; color: var(--link);
  text-decoration: underline; cursor: pointer; font-size: 13px;
}
.linkbtn.danger { color: var(--err); }
.btnlink {
  display: inline-flex; align-items: center; padding: 5px 14px;
  background: var(--bg-card); border: 1px solid var(--border); border-radius: 6px;
  color: var(--ink) !important; text-decoration: none; font-size: 13px; font-weight: 500;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.btnlink:hover {
  background: var(--bg-subtle);
  border-color: #94a3b8;
}

/* Giriş / Kayıt Sayfası */
.page.narrow { max-width: 520px; }
.tabs {
  display: flex;
  background: var(--bg-subtle);
  padding: 4px;
  border-radius: 8px;
  margin-bottom: 18px;
  gap: 4px;
}
.tabs [role="tab"] {
  flex: 1;
  padding: 8px 12px;
  font-size: 13.5px;
  font-weight: 500;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: var(--ink-soft);
  cursor: pointer;
  transition: all .15s ease;
}
.tabs [role="tab"]:hover { color: var(--ink); }
.tabs [role="tab"][aria-selected="true"] {
  background: var(--bg-card);
  color: var(--ink);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.authform { display: flex; flex-direction: column; gap: 12px; }
.authform .lead { margin: 0 0 4px; font-size: 13.5px; color: var(--ink-soft); }
.field { display: flex; flex-direction: column; gap: 4px; }
.field label { font-size: 13px; font-weight: 600; color: var(--ink); }
.help { margin: 0; font-size: 12px; color: var(--ink-soft); }
.pw { display: flex; }
.pw input { flex: 1; min-width: 0; border-radius: 6px 0 0 6px !important; }
.pw .show {
  font-size: 12px; padding: 0 12px; border: 1px solid var(--border);
  border-left: none; background: var(--bg-subtle); border-radius: 0 6px 6px 0;
  color: var(--ink-soft); cursor: pointer;
}
.status { margin: 0; font-size: 12px; min-height: 1.2em; }
.status.ok { color: var(--ok); }
.status.bad { color: var(--err); }
.checks { list-style: none; margin: 2px 0 0; padding: 0; font-size: 12px; color: var(--ink-soft); display: flex; flex-wrap: wrap; gap: 4px 12px; }
.checks li::before { content: "○ "; }
.checks li.ok { color: var(--ok); }
.checks li.ok::before { content: "✓ "; }
.notice {
  font-size: 12.5px; padding: 10px 12px; background: #fefce8;
  border: 1px solid #fef08a; border-radius: 6px; color: #854d0e;
}
[data-theme="dark"] .notice {
  background: rgba(234, 179, 8, 0.12);
  border-color: rgba(234, 179, 8, 0.25);
  color: #fde047;
}
.notice .check { display: flex; gap: 8px; align-items: center; margin-top: 6px; font-size: 13px; font-weight: 500; cursor: pointer; }
.notice .check input { width: auto; }
.msg { margin: 0; font-size: 13px; }
.msg:empty { display: none; }
.msg.err { color: var(--err); padding: 8px 10px; border: 1px solid #fee2e2; background: #fef2f2; border-radius: 6px; }
[data-theme="dark"] .msg.err {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.3);
  color: #fca5a5;
}
.msg.ok { color: var(--ok); }
.switch { margin: 0; font-size: 13px; padding-top: 10px; border-top: 1px solid var(--border); color: var(--ink-soft); }

/* Rehber / SEO Sayfaları (.prose) */
.crumbs { font-size: 12.5px; color: var(--ink-muted); margin: 0 0 12px; }
.crumbs a { color: var(--ink-soft); text-decoration: none; }
.crumbs a:hover { color: var(--ink); }
.prose { padding: 0; }
.prose h1 {
  margin: 0 0 12px;
  font-size: 24px;
  line-height: 1.3;
  color: var(--ink);
  font-weight: 800;
  letter-spacing: -0.025em;
}
.prose h2 {
  margin: 28px 0 12px;
  padding: 0 0 6px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--border);
  font-size: 18px;
  letter-spacing: -0.015em;
  color: var(--ink);
  font-weight: 700;
}
.prose h3 {
  margin: 20px 0 8px;
  padding: 0;
  font-size: 15.5px;
  letter-spacing: -0.01em;
  color: var(--ink);
  font-weight: 600;
}
.prose p, .prose li {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink);
  max-width: 74ch;
}
.prose .lead { font-size: 14px; color: var(--ink-soft); line-height: 1.55; }
.prose ul, .prose ol { padding-left: 20px; }
.prose li { margin-bottom: 4px; }
.tablewrap { overflow-x: auto; }
table.guide {
  border-collapse: collapse;
  width: 100%;
  font-size: 13px;
  border: 1px solid var(--border);
  border-radius: 6px;
  overflow: hidden;
  margin: 12px 0;
}
table.guide th, table.guide td {
  border-bottom: 1px solid var(--border);
  padding: 8px 12px;
  text-align: left;
  vertical-align: top;
}
table.guide th {
  background: var(--bg-subtle);
  color: var(--ink-soft);
  font-weight: 600;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
table.guide tr:last-child td { border-bottom: none; }

details.faq { border-bottom: 1px solid var(--border); padding: 4px 0; }
details.faq summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 15px;
  padding: 10px 0;
  list-style-position: outside;
  color: var(--ink);
  line-height: 1.4;
}
details.faq summary:hover { color: var(--link); }
details.faq p { margin: 0 0 10px; font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; }

.cta {
  margin-top: 20px;
  padding: 14px 18px;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: 8px;
}
.cta h2 {
  font-size: 15.5px;
  font-weight: 700;
  margin: 0 0 6px;
  padding: 0;
  background: none;
  border: none;
  color: var(--ink);
}
.cta p { margin: 0 0 10px; font-size: 13px; color: var(--ink-soft); }
.ctarow { display: flex; flex-wrap: wrap; gap: 8px; }
.footnav { line-height: 1.8; }

/* Mobil Ekranlar (<= 640px) */
.fab { display: none; }
@media (max-width: 640px) {
  body {
    padding: 0;
    background: var(--bg-card);
  }
  .page {
    padding: 12px 14px 16px;
    border: none;
    border-radius: 0;
    box-shadow: none;
    max-width: 100%;
  }

  /* Başlık, Logo ve Menü */
  .masthead {
    padding-bottom: 12px;
    margin-bottom: 14px;
  }
  .masthead-top {
    gap: 8px;
    margin-bottom: 4px;
    align-items: center;
  }
  .masthead h1, .sitename {
    font-size: 16px;
  }
  .brand-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
  }
  .brand-logo {
    height: 24px;
    width: auto;
    flex-shrink: 0;
  }
  .brand-link span {
    font-size: 15px;
    line-height: 1.25;
    word-break: break-word;
  }
  .tagline {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 4px;
  }
  .topnav {
    gap: 6px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
  }
  .topnav a {
    padding: 6px 10px;
    font-size: 12.5px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
  }
  .userbar {
    margin: 0;
    font-size: 12.5px;
  }
  .userbar a, .userbar .linkbtn {
    padding: 4px 6px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
  }

  /* Kutular */
  .box {
    padding: 12px 14px;
    margin-bottom: 14px;
    border-radius: 8px;
  }
  .box h2 {
    margin: -12px -14px 12px;
    padding: 10px 14px;
    font-size: 15.5px;
    font-weight: 700;
    letter-spacing: -0.015em;
  }

  /* Form Elemanları — iOS Safari Otomatik Zoom Engelleme */
  input, select, textarea {
    font-size: 16px !important; /* iOS Safari otomatik zoom'u önler */
    min-height: 42px;
  }
  input[type="checkbox"], input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-height: auto !important;
  }
  button:not(.pbtn):not(.linkbtn) {
    min-height: 40px;
  }
  .row2 {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .actionsrow button {
    flex: 1;
    min-height: 44px;
    font-size: 14.5px;
  }

  /* Filtre Izgarası */
  .filters {
    gap: 8px;
    padding-bottom: 12px;
  }
  .filters input[type="search"] {
    font-size: 16px !important;
    min-height: 42px;
  }
  .filtergrid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .filtergrid label:nth-child(2) {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .filters .filtergrid select {
    font-size: 16px !important;
    min-height: 42px;
    max-width: 100%;
  }

  /* Gönderi Kartları ve Butonlar */
  .post {
    padding: 14px 0;
  }
  .post h3 {
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.35;
  }
  .post .meta {
    font-size: 12px;
    margin-bottom: 6px;
  }
  .post .body {
    font-size: 13.5px;
    line-height: 1.55;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .postactions {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 8px;
  }
  .pbtn {
    flex: 0 0 auto;
    min-height: 30px !important;
    padding: 3px 9px;
    font-size: 12px;
    gap: 5px;
    border-radius: 6px;
  }
  .pbtn-share {
    flex: 0 0 auto;
    min-width: 32px;
    padding: 3px 8px;
  }
  .pbtn.danger {
    flex: 0 0 auto;
    min-width: 30px;
    padding: 3px 8px;
    margin-left: auto;
  }
  .permalink {
    font-size: 11.5px;
    margin-left: auto;
  }
  .comments {
    margin-left: 0;
    padding-left: 10px;
    margin-top: 10px;
  }
  .cform textarea {
    font-size: 16px !important;
    min-height: 64px;
  }
  .cform button {
    align-self: stretch;
    min-height: 40px;
  }

  /* Giriş / Kayıt Sayfası */
  .tabs {
    margin-bottom: 14px;
  }
  .tabs [role="tab"] {
    min-height: 42px;
    font-size: 14px;
    padding: 8px 10px;
  }
  .pw {
    display: flex;
  }
  .pw input {
    font-size: 16px !important;
    min-height: 42px;
  }
  .pw .show {
    min-height: 42px;
    padding: 0 14px;
    font-size: 13px;
  }
  .notice .check {
    min-height: 36px;
    font-size: 13px;
  }
  .authform button.primary {
    min-height: 44px;
    font-size: 15px;
  }

  /* Rehber / Metin Sayfaları */
  .prose h1 {
    font-size: 21px;
    font-weight: 800;
    line-height: 1.3;
  }
  .prose h2 {
    font-size: 16.5px;
    font-weight: 700;
    margin: 22px 0 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--border);
  }
  .prose h3 {
    font-size: 14.5px;
    font-weight: 600;
  }
  .prose p, .prose li {
    font-size: 13.5px;
    line-height: 1.55;
  }
  .tablewrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  table.guide th, table.guide td {
    padding: 7px 8px;
    font-size: 12.5px;
  }
  .cta {
    padding: 12px 14px;
  }
  .ctarow {
    flex-direction: column;
  }
  .ctarow .btnlink {
    justify-content: center;
    min-height: 40px;
    font-size: 13.5px;
  }
  details.faq summary {
    padding: 10px 0;
    font-size: 14.5px;
    font-weight: 600;
  }

  /* Sabit Yaz Butonu (FAB) */
  .fab {
    display: flex;
    align-items: center;
    position: fixed;
    right: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    padding: 10px 18px;
    background: var(--ink);
    color: var(--bg-card) !important;
    text-decoration: none;
    font-weight: 600;
    font-size: 13.5px;
    border-radius: 24px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25);
    z-index: 10;
  }
  .fab[hidden] { display: none; }
  body.typing .fab { display: none; }
  .footer {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
}

/* ---------- v26: Bildir, iletişim, hesap, yönetim ---------- */
.pbtn.pbtn-report {
  margin-left: auto;
  color: var(--ink-muted);
  border-color: transparent;
  background: transparent;
  padding: 4px 8px;
}
.pbtn.pbtn-report:hover { color: var(--err); background: var(--err-bg); }
.pbtn-report + .pbtn.danger { margin-left: 0; }
.linkbtn.cbildir { color: var(--ink-muted); font-size: 12px; }
.linkbtn.cbildir:hover { color: var(--err); }

.dlg {
  width: min(440px, calc(100vw - 32px));
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  background: var(--bg-card);
  color: var(--ink);
  box-shadow: 0 20px 50px rgba(15, 23, 42, .25);
}
.dlg::backdrop { background: rgba(15, 23, 42, .45); }
.dlg h2 { margin: 0; font-size: 18px; }
.dlg select, .dlg textarea { width: 100%; box-sizing: border-box; }
.dlg-actions { display: flex; justify-content: flex-end; gap: 8px; }

.prose .authform select,
.prose .authform textarea,
.prose .authform input:not([type="checkbox"]) { width: 100%; box-sizing: border-box; }
.prose .authform { margin: 12px 0 8px; }
.prose .authform .notice .help { margin-top: 6px; }
.btn-danger, button.primary.btn-danger { background: var(--err); border-color: var(--err); color: #fff; }
[data-theme="dark"] .btn-danger, [data-theme="dark"] button.primary.btn-danger { color: #0b0f19; }

.yn-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 12px 14px;
  margin: 10px 0;
  background: var(--bg-card);
}
.yn-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 6px; }
.yn-target { border-left: 3px solid var(--border); padding-left: 10px; margin: 8px 0; }
.yn-target p { margin: 4px 0; }
.yn-notes { margin: 6px 0; font-size: 13px; color: var(--ink-soft); }
.yn-pre { white-space: pre-wrap; margin: 6px 0; }
.yn-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.yn-actions .danger { color: var(--err); border-color: var(--err); }

/* ===================== Akademik takvim ===================== */
.tk-now {
  margin: 18px 0 22px;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-subtle);
}
.tk-now-label { margin: 0 0 4px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); }
.tk-now-main { margin: 0; font-size: 18px; line-height: 1.35; color: var(--ink); }
.tk-now-dim { color: var(--ink-muted); font-weight: 400; }
.tk-now-sub { margin: 8px 0 0; font-size: 14px; color: var(--ink-soft); }
.tk-bar { height: 6px; margin-top: 12px; border-radius: 99px; background: var(--border); overflow: hidden; }
.tk-bar span { display: block; height: 100%; border-radius: 99px; background: var(--accent); }
.tk-up { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.tk-up ul { list-style: none; margin: 0; padding: 0; }
.prose .tk-up li { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 4px 0; font-size: 14.5px; }
.tk-up-when { flex-shrink: 0; color: var(--ink-soft); font-variant-numeric: tabular-nums; }

.tk-sems { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 8px 0 26px; }
.tk-sem { border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; background: var(--bg-card); }
.prose .tk-sem h2 { margin: 0 0 10px; font-size: 15px; border: 0; padding: 0; }
.tk-key { margin: 0; }
.tk-key-row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid var(--border-subtle); }
.tk-key-row:first-child { border-top: 0; }
.tk-key dt { color: var(--ink-soft); font-size: 13.5px; }
.tk-key dd { margin: 0; text-align: right; font-weight: 600; font-size: 13.5px; color: var(--ink); }

.tk-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 6px 0 8px; }
.prose .tk-toolbar h2 { margin: 0; margin-right: auto; }
.tk-toolbar:not(.tk-js) .tk-filters, .tk-toolbar:not(.tk-js) .tk-past { display: none; }
.tk-filters { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; order: 3; }
.tk-f {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 11px; font-size: 13px; font-weight: 600;
  color: var(--ink-soft); background: var(--bg-card);
  border: 1px solid var(--border); border-radius: 99px; cursor: pointer;
}
.tk-f:hover { color: var(--ink); border-color: var(--ink-muted); }
.tk-f[aria-pressed="true"] { color: var(--bg-card); background: var(--accent); border-color: var(--accent); }
.prose:has(#tkList) { padding: 22px 26px; }
.tk-past { white-space: nowrap; font-size: 13px; color: var(--ink-soft); display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }

.tk-month { margin-top: 18px; }
.prose .tk-month-h {
  margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  color: var(--ink-soft); position: sticky; top: 0; background: var(--bg-card); padding: 6px 0; z-index: 1;
}
.prose ol.tk-items { list-style: none; margin: 0; padding: 0; }
.prose .tk-item, .prose .tk-up li, .prose .tk-source { max-width: none; }
.prose .tk-item {
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 14px; align-items: start;
  margin: 0; padding: 12px 0; border-top: 1px solid var(--border-subtle);
}
.tk-chip {
  border-top: 3px solid var(--tk-c, var(--border)) !important;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 52px; padding: 6px 0 5px; border-radius: 8px;
  background: var(--bg-subtle); border: 1px solid var(--border); line-height: 1.1;
}
.tk-chip-d { font-size: 19px; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.tk-chip-m { font-size: 11.5px; font-weight: 600; color: var(--ink-soft); text-transform: uppercase; }
.tk-chip-w { font-size: 10.5px; color: var(--ink-muted); margin-top: 1px; }
.prose .tk-body p { margin: 0; }
.prose .tk-title { font-weight: 600; color: var(--ink); line-height: 1.35; }
.prose .tk-when { margin-top: 2px; font-size: 13.5px; color: var(--ink-soft); }
.tk-len { color: var(--ink-muted); }
.prose .tk-note { margin-top: 3px; font-size: 13px; color: var(--ink-muted); }
.tk-cat { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-soft); white-space: nowrap; padding-top: 2px; }
.tk-cat::before, .tk-dot { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.tk-cat::before { background: var(--tk-c); }
.tk-dot { background: var(--tk-c); }
.tk-cat-ders { --tk-c: #2563eb; }
.tk-cat-sinav { --tk-c: #dc2626; }
.tk-cat-kayit { --tk-c: #d97706; }
.tk-cat-basvuru { --tk-c: #7c3aed; }
.tk-cat-etkinlik { --tk-c: #16a34a; }

.tk-state {
  display: inline-block; margin-left: 4px; padding: 1px 8px; border-radius: 99px;
  font-size: 11.5px; font-weight: 600; color: var(--ink); background: var(--bg-subtle); border: 1px solid var(--border);
}
.tk-is-now .tk-chip { background: var(--accent); border-color: var(--accent); }
.tk-is-now .tk-chip span { color: var(--bg-card); }
.tk-is-now .tk-state { color: var(--bg-card); background: var(--accent); border-color: var(--accent); }
.tk-is-next .tk-chip { border-color: var(--accent); border-width: 2px; }
.tk-is-past { opacity: .5; }
.tk-is-past .tk-title { text-decoration: line-through; text-decoration-color: var(--ink-muted); }

.tk-source { margin-top: 26px; padding: 12px 14px; font-size: 13px; color: var(--ink-soft); background: var(--bg-subtle); border-radius: 8px; }
.tk-faq { border-top: 1px solid var(--border); padding: 10px 0; }
.tk-faq summary { cursor: pointer; font-weight: 600; color: var(--ink); }
.prose .tk-faq p { margin: 6px 0 0; color: var(--ink-soft); }

@media (max-width: 640px) {
  .tk-sems { grid-template-columns: 1fr; }
  .prose .tk-item { grid-template-columns: 46px minmax(0, 1fr); gap: 12px; }
  .tk-chip { width: 46px; }
  .tk-cat { display: none; }
  .prose:has(#tkList) { padding: 16px 16px; }
  .tk-now-main { font-size: 16.5px; }
  .tk-key dd { font-size: 13px; }
}

/* ---------- Paylaşım Modalı ---------- */
.share-dlg {
  width: min(440px, calc(100vw - 32px));
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 20px;
  background: var(--bg-card);
  color: var(--ink);
  box-shadow: 0 20px 50px rgba(15, 23, 42, .25);
  box-sizing: border-box;
}
.share-dlg::backdrop {
  background: rgba(15, 23, 42, .5);
  backdrop-filter: blur(2px);
}
.share-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.share-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
}
.dlg-close {
  background: none;
  border: none;
  font-size: 26px;
  line-height: 1;
  color: var(--ink-muted);
  cursor: pointer;
  padding: 0 4px;
  border-radius: 4px;
  transition: color .15s ease;
}
.dlg-close:hover {
  color: var(--ink);
}
.share-preview {
  background: var(--bg-page);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px 12px;
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.35;
}
.share-preview strong {
  font-size: 13.5px;
  color: var(--ink);
  font-weight: 600;
}
.share-meta {
  font-size: 11.5px;
  color: var(--ink-muted);
}
.share-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 14px;
}
.share-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-card);
  color: var(--ink);
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
  min-height: 50px;
  box-sizing: border-box;
}
.share-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .07);
}
.share-btn .sh-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}
.share-btn .sh-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  line-height: 1.2;
}
.share-btn .sh-text strong {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}
.share-btn .sh-text small {
  font-size: 10.5px;
  color: var(--ink-muted);
  margin-top: 2px;
}

/* Platform Özel Renkleri */
.share-btn.sh-wa .sh-icon { color: #25D366; }
.share-btn.sh-wa:hover {
  border-color: #25D366;
  background: rgba(37, 211, 102, .08);
}

.share-btn.sh-ig .sh-icon { color: #E1306C; }
.share-btn.sh-ig:hover {
  border-color: #E1306C;
  background: rgba(225, 48, 108, .08);
}

.share-btn.sh-tw .sh-icon { color: var(--ink); }
.share-btn.sh-tw:hover {
  border-color: var(--ink);
  background: rgba(15, 23, 42, .06);
}

.share-btn.sh-tg .sh-icon { color: #229ED9; }
.share-btn.sh-tg:hover {
  border-color: #229ED9;
  background: rgba(34, 158, 217, .08);
}
.share-btn.sh-fb .sh-icon { color: #1877F2; }
.share-btn.sh-fb:hover { border-color: #1877F2; background: rgba(24, 119, 242, .08); }
.share-btn.sh-mail .sh-icon { color: var(--ink-soft); }
.share-btn.sh-mail:hover { border-color: var(--ink-muted); background: var(--bg-subtle); }
.post.post-target { outline: 2px solid var(--link); outline-offset: 3px; transition: outline-color 1s; }

[data-theme="dark"] .share-preview {
  background: rgba(11, 15, 25, .6);
}
[data-theme="dark"] .share-btn.sh-tw .sh-icon {
  color: #f8fafc;
}
[data-theme="dark"] .share-btn.sh-tw:hover {
  border-color: #94a3b8;
  background: rgba(255, 255, 255, .08);
}

/* Bağlantı Kopyalama Kısmı */
.share-copy-section {
  margin-top: 10px;
}
.share-copy-label {
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ink-muted);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: .3px;
}
.share-copy-row {
  display: flex;
  gap: 8px;
}
.share-copy-row input {
  flex: 1;
  height: 38px;
  font-size: 12.5px;
  padding: 0 10px;
  background: var(--bg-page);
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--ink);
  box-sizing: border-box;
}
.share-copy-row button {
  height: 38px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 12.5px;
  font-weight: 600;
  white-space: nowrap;
  background: var(--accent);
  color: #fff;
  border: 1px solid var(--accent);
  cursor: pointer;
  transition: background .15s ease;
}
.share-copy-row button.copied {
  background: #16a34a !important;
  border-color: #16a34a !important;
}
.share-dlg .msg {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.4;
}
.share-native-wrap {
  text-align: center;
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px dashed var(--border);
}
.share-native-wrap button {
  font-size: 12px;
  color: var(--ink-muted);
  text-decoration: underline;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
}
.share-native-wrap button:hover {
  color: var(--ink);
}

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

/* ===================== Pano: sade üst kısım (v31) ===================== */
.box.board { padding-top: 14px; }
.board-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.board-title { margin: 0; font-size: 19px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); }
#composeIntro[hidden] { display: none !important; }
.board-head #composeBtn { padding: 8px 14px; font-size: 14px; white-space: nowrap; }
.formmsg:empty, .resultinfo:empty { display: none; }
.board-compose form { margin: 4px 0 14px; padding: 14px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-subtle); }
.filters.board-filters {
  display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
  gap: 8px; flex-direction: initial; padding-bottom: 12px;
}
.board-filters input[type="search"], .board-filters select {
  width: 100%; min-width: 0; font-size: 13.5px; padding: 8px 10px; border-radius: 6px; box-sizing: border-box;
}
.resultinfo { margin: 8px 0 4px; }
#postList { margin-top: 10px; }

/* Yükleme iskeleti */
.post-skel {
  height: 110px; margin-bottom: 12px; border-radius: 8px; border: 1px solid var(--border);
  background: linear-gradient(90deg, var(--bg-subtle) 0%, var(--bg-hover) 50%, var(--bg-subtle) 100%);
  background-size: 200% 100%; animation: skel 1.2s ease-in-out infinite;
}
@keyframes skel { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .post-skel { animation: none; } }

@media (max-width: 640px) {
  .board-title { font-size: 17px; }
  .filters.board-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .board-filters input[type="search"] { grid-column: 1 / -1; }
  .board-filters input[type="search"], .board-filters select { font-size: 16px !important; min-height: 40px; padding: 7px 8px; }
  .board-filters select { font-size: 14px !important; }
}

/* ===================== Paylaş: yalnızca ikonlar (v31) ===================== */
.share-dlg .share-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 12px; grid-template-columns: none !important; margin: 14px 0 6px; }
.share-dlg .share-btn {
  width: 52px; height: 52px; min-height: 0; padding: 0; gap: 0;
  justify-content: center; border-radius: 50%;
}
.share-dlg .share-btn .sh-icon { margin: 0; display: inline-flex; }
.share-dlg .share-btn:hover { transform: translateY(-2px); }
.share-btn.sh-tt .sh-icon { color: #000; }
.share-btn.sh-tt:hover { border-color: #000; background: rgba(0, 0, 0, .05); }
[data-theme="dark"] .share-btn.sh-tt .sh-icon { color: #f8fafc; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .share-btn.sh-tt .sh-icon { color: #f8fafc; } }
