/* stil.css — Sercan Fidan kişisel blog: ortak tasarım katmanı.
   Tasarım değişkenleri (renk/tema), genel resetler ve animasyonlar burada;
   bileşen stilleri index.php şablonunda satır içi durur. */
:root {
  --accent-h: 252;
  --bg: oklch(0.145 0.015 265);
  --bg2: oklch(0.172 0.017 265);
  --card: oklch(0.187 0.019 265);
  --border: oklch(0.34 0.022 265 / 0.42);
  --border2: oklch(0.52 0.03 265 / 0.55);
  --text: oklch(0.95 0.006 260);
  --muted: oklch(0.73 0.012 260);
  --faint: oklch(0.56 0.014 260);
  --accent: oklch(0.75 0.14 var(--accent-h));
  --acc-soft: oklch(0.75 0.14 var(--accent-h) / 0.13);
  --acc-line: oklch(0.75 0.14 var(--accent-h) / 0.5);
  --btn-bg: oklch(0.95 0.006 260);
  --btn-ink: oklch(0.16 0.015 265);
  --cat-l: 0.78; --cat-c: 0.11;
  --cov-l: 0.62; --cov-c: 0.13;
  --glass: oklch(0.145 0.015 265 / 0.75);
  --shadow: 0 24px 48px -20px oklch(0 0 0 / 0.5);
  --grid-c: oklch(0.95 0.006 260 / 0.045);
  --err: oklch(0.68 0.17 25);
  --ok2: oklch(0.75 0.14 158);
  --code-bg: oklch(0.125 0.014 265);
  --scroll: oklch(0.35 0.02 265);
}
[data-theme="light"] {
  --bg: oklch(0.977 0.003 250);
  --bg2: oklch(0.954 0.005 255);
  --card: oklch(0.995 0.002 250);
  --border: oklch(0.88 0.01 255);
  --border2: oklch(0.76 0.015 255);
  --text: oklch(0.22 0.02 262);
  --muted: oklch(0.46 0.016 260);
  --faint: oklch(0.6 0.012 260);
  --accent: oklch(0.5 0.17 var(--accent-h));
  --acc-soft: oklch(0.5 0.17 var(--accent-h) / 0.1);
  --acc-line: oklch(0.5 0.17 var(--accent-h) / 0.45);
  --btn-bg: oklch(0.22 0.02 262);
  --btn-ink: oklch(0.98 0.003 250);
  --cat-l: 0.45; --cat-c: 0.135;
  --cov-l: 0.52; --cov-c: 0.12;
  --glass: oklch(0.977 0.003 250 / 0.8);
  --shadow: 0 24px 48px -24px oklch(0.3 0.02 260 / 0.22);
  --grid-c: oklch(0.2 0.02 260 / 0.055);
  --err: oklch(0.55 0.19 25);
  --ok2: oklch(0.55 0.15 158);
  --scroll: oklch(0.82 0.01 255);
}
* { box-sizing: border-box; }
html { scrollbar-color: var(--scroll) transparent; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: 'Geist', system-ui, sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; transition: background-color .35s ease, color .35s ease; }
h1,h2,h3,h4,p,figure,blockquote { margin: 0; }
ul,ol { margin: 0; padding: 0; list-style: none; }
a { color: var(--accent); text-decoration: none; transition: color .18s ease; }
a:hover { color: var(--text); }
button { font: inherit; }
input::placeholder, textarea::placeholder { color: var(--faint); }
::selection { background: oklch(0.75 0.14 var(--accent-h) / 0.32); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: var(--scroll); border-radius: 8px; border: 3px solid var(--bg); }
::-webkit-scrollbar-track { background: transparent; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes shimmer { 0% { background-position: -480px 0; } 100% { background-position: 480px 0; } }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
@keyframes drift { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(50px, -34px) scale(1.1); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }
