/* ══════════════════════════════════════════════════════════════
   Gelibolu Revival — Temel Stiller
   Renk Teması: Kırmızı / Beyaz / Siyah + Turkuaz detaylar
   ══════════════════════════════════════════════════════════════ */

:root {
  /* Ana tema: Koyu zemin, sıcak nötr tonlar, askeri kartografi */
  --bg:#0e1014;--bg-panel:#141612;--bg-card:#1a1c18;
  --parchment:#d8d0c0;--parchment-d:#a09880;
  --ink:#1a1a1e;
  --sea:#2a3540;--sea-light:#3a4a58;
  --land:#4a4838;--land-light:#5a5848;

  /* Faksiyonlar — desatüre, askeri */
  --ottoman:#8b3a3a;--ottoman-l:#c4645a;
  --british:#4a6a82;--british-l:#7a9ab0;
  --anzac:#5a7a52;--anzac-l:#8aaa78;
  --french:#6a5a7a;--french-l:#9a8aaa;

  /* Aksan renk — sıcak bej/altın */
  --accent:#a09880;--accent-dim:#6a6040;--accent-light:#c0b898;

  /* Kırmızı aksan — toprak kırmızısı */
  --red:#8b3a3a;--red-dim:#5a2828;--red-light:#c4645a;

  /* Nötr tonlar — sıcak */
  --gold:#c0b898;--gold-dim:#7a7060;
  --text:#e0dcd0;--text-muted:#9a9488;--text-dim:#6a6458;
  --border:#2a2822;--border-light:#3a3830;
  --timeline-bg:#0e1012;

  --mono:"JetBrains Mono","SFMono-Regular",Menlo,Consolas,monospace;
  --sans:"Segoe UI",system-ui,-apple-system,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

@media(max-width:768px){
  body{overflow:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}
  .topbar{
    flex-wrap:nowrap;
    padding:4px 8px;
    gap:4px;
    backdrop-filter:none;
    background:rgba(16,16,20,.97);
    max-height:44px;
    overflow:hidden
  }
  .topbar-title{
    font-size:.78rem;
    flex:1;
    min-width:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }
  .phase-indicator{
    display:none
  }
  .legend{
    gap:4px;
    flex-wrap:nowrap
  }
  .legend-item{
    display:none
  }
  .stats-btn{
    padding:6px 10px;
    min-height:48px;
    font-size:.75rem
  }
  .audio-btn{
    width:48px;
    height:48px
  }
  .stats-panel{backdrop-filter:none;background:rgba(0,0,0,.85)}
}

/* ── Üst Bar — modern glassmorphism ── */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 18px;
  background:linear-gradient(180deg,rgba(16,16,20,.95),rgba(12,12,16,.92));
  border-bottom:1px solid rgba(120,100,70,.2);
  flex-shrink:0;
  backdrop-filter:blur(8px);
  box-shadow:0 2px 12px rgba(0,0,0,.3)
}
.topbar-title{font-size:.95rem;font-weight:700;letter-spacing:.02em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}
.topbar-title span{color:var(--red);text-shadow:0 0 12px rgba(220,53,69,.2)}
.phase-indicator{
  font-family:var(--mono);font-size:.72rem;color:var(--text-muted);
  background:rgba(220,53,69,.08);border:1px solid var(--red-dim);
  border-radius:6px;padding:3px 10px;
  max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.legend{display:flex;gap:12px;align-items:center}
.legend-item{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--text-muted)}
.legend-icon{width:12px;height:12px;display:flex;align-items:center;justify-content:center}

/* ── Loading Overlay ── */
/* ── Sinematik Giriş ── */
.cinematic-intro{
  position:fixed;inset:0;z-index:10010;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#080a0c 0%,#0e1014 40%,#1a1510 80%,#0e1014 100%);
  transition:opacity .8s ease
}
.cinematic-intro.hidden{opacity:0;pointer-events:none}
/* Intro kendi kendine 5s sonra kaybolur (JS yedek olarak da kaldırır) */
.cinematic-intro{animation:introAutoHide 5.5s ease-in-out forwards}
@keyframes introAutoHide{
  0%,85%{opacity:1;pointer-events:auto}
  100%{opacity:0;pointer-events:none}
}
.intro-content{
  text-align:center;
  max-width:520px;
  padding:24px
}
.intro-year{
  font-family:var(--mono);
  font-size:4.5rem;
  font-weight:700;
  color:#c9a84c;
  letter-spacing:.15em;
  opacity:0;
  animation:introFadeUp 1.2s ease-out .3s forwards
}
.intro-line{
  width:60px;height:2px;
  background:linear-gradient(90deg,transparent,#8b3a3a,transparent);
  margin:16px auto;
  opacity:0;
  animation:introFadeUp .8s ease-out .8s forwards
}
.intro-title{
  font-family:var(--mono);
  font-size:2.2rem;
  font-weight:700;
  color:var(--text);
  letter-spacing:.3em;
  text-transform:uppercase;
  opacity:0;
  animation:introFadeUp 1s ease-out 1.2s forwards
}
.intro-subtitle{
  font-family:var(--sans);
  font-size:1.05rem;
  color:var(--text-muted);
  margin-top:10px;
  font-style:italic;
  opacity:0;
  animation:introFadeUp .8s ease-out 1.8s forwards
}
.intro-quote{
  font-family:var(--mono);
  font-size:1.1rem;
  color:#c4645a;
  margin-top:24px;
  font-weight:600;
  letter-spacing:.05em;
  opacity:0;
  animation:introFadeUp .8s ease-out 2.3s forwards
}
.intro-detail{
  font-family:var(--mono);
  font-size:.7rem;
  color:var(--text-dim);
  margin-top:20px;
  letter-spacing:.06em;
  opacity:0;
  animation:introFadeUp .6s ease-out 2.8s forwards
}
.cinematic-intro .loading-spinner{
  width:24px;height:24px;
  border:2px solid var(--border);
  border-top-color:var(--red);
  border-radius:50%;
  animation:spin .8s linear infinite;
  margin:24px auto 0;
  opacity:0;
  animation:spin .8s linear infinite, introFadeUp .4s ease-out 3.2s forwards
}
@keyframes introFadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:768px){
  .intro-year{font-size:3rem}
  .intro-title{font-size:1.5rem;letter-spacing:.2em}
  .intro-subtitle{font-size:.9rem}
  .intro-quote{font-size:.95rem}
}

/* ── Erişilebilirlik (a11y) ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:0.01ms!important;
    scroll-behavior:auto!important;
  }
}

:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.timeline-btn:focus-visible,
.panel-close:focus-visible,
.phase-marker:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  box-shadow:0 0 0 4px rgba(38,198,218,.3);
}

/* ── İstatistik Paneli ── */
.stats-panel{position:fixed;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s}
.stats-panel.open{opacity:1;pointer-events:auto}
.stats-panel-inner{background:linear-gradient(145deg,var(--bg-card),var(--bg-panel));border:1px solid var(--red-dim);border-radius:12px;padding:24px 28px;max-width:680px;width:92vw;max-height:88vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.stats-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.stats-header h3{flex:1;font-family:var(--mono);font-size:1rem;color:var(--red-light);margin:0;letter-spacing:.03em}
.stats-header img{opacity:.8}
.stats-close{border:1px solid var(--border-light);background:rgba(220,53,69,.08);color:var(--text);width:28px;height:28px;border-radius:999px;cursor:pointer;font-size:1.1rem;line-height:1}
.stats-subtitle{font-family:var(--mono);font-size:.75rem;color:var(--text-muted);margin-bottom:16px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:16px}
.stats-side{display:flex;flex-direction:column;gap:6px}
.stats-side-name{font-family:var(--mono);font-size:.9rem;font-weight:700;margin-bottom:4px}
.stats-row{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-muted)}
.stats-row span:last-child{color:var(--text);font-family:var(--mono)}
.stats-row-total{border-top:1px solid var(--border-light);padding-top:6px;margin-top:4px;font-weight:700}
.stats-row-total span{color:#fff!important}
.stats-bar{height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;margin-top:4px}
.stats-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}
.stats-bar-label{font-size:.7rem;color:var(--text-dim);text-align:right;margin-top:2px}
.stats-total{text-align:center;padding:12px;background:rgba(220,53,69,.06);border:1px solid rgba(220,53,69,.2);border-radius:8px;margin-bottom:14px}
.stats-total span{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:4px}
.stats-total strong{font-family:var(--mono);font-size:1.3rem;color:var(--red-light)}
.stats-subgroups{margin-bottom:14px}
.stats-sub-title{font-size:.78rem;color:var(--parchment);margin-bottom:6px;font-family:var(--mono)}
.stats-sub-row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted);padding:3px 0}
.stats-sub-row span:last-child{font-family:var(--mono);color:var(--text)}
.stats-source{font-size:.68rem;color:var(--text-dim);opacity:.6;border-top:1px solid var(--border);padding-top:10px;margin-top:6px}
.stats-source em{font-style:italic}

/* ── Stats Button (Topbar) ── */
.stats-btn{
  background:rgba(220,53,69,.1);border:1px solid var(--red-dim);
  color:var(--red-light);padding:3px 8px;border-radius:6px;
  font-family:var(--mono);font-size:.7rem;cursor:pointer;
  display:flex;align-items:center;gap:4px;transition:background .15s
}
.stats-btn:hover{background:rgba(220,53,69,.22)}
.stats-btn img{opacity:.7}

@media(max-width:768px){
  .stats-grid{grid-template-columns:1fr}
  .stats-panel-inner{padding:16px}
}

/* ── Ses Kontrolleri ── */
.audio-controls{display:flex;gap:4px;align-items:center;margin-right:4px}
.audio-btn{
  background:rgba(80,75,60,.12);border:1px solid var(--border-light);
  color:var(--text-muted);width:28px;height:28px;border-radius:6px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:.85rem;transition:background .15s,border-color .15s;padding:0
}
.audio-btn:hover{background:rgba(120,100,70,.2);border-color:var(--accent-dim)}
.audio-icon{line-height:1}
