/* ============================================================
 * YÜZMEKOLİK — ZAMANLAYICI SAYFALARI (zamanlayici.css, önek: az-)
 * /zamanlayicilar/ hub + 9 araç sayfası. Havuz kenarı arayüzü (plan §3): büyük süre, faz rengi,
 * başparmak bölgesinde sabit kontrol çubuğu, tam ekran/tablet modu.
 * Ortak bileşenler antrenman-araclari.css (aa-); bu dosya YALNIZ sayfa düzeni + eski motorların
 * (antrenman-zamanlayici.js / kronometre.js) kullandığı zm-/zk-/zks-/kr- sınıflarının yeni görünümü.
 * KURALLAR: TEK AÇIK TEMA · ≥44px hedef (ana düğme ≥64) · yazı ≥12px · renk tek taşıyıcı değil (etiket+metin).
 * Üretici: tools/bake-zamanlayicilar.js · Davranış: scripts/zamanlayici-arayuz.js
 * ============================================================ */
:root { color-scheme: light; }
body.az-page { background: #f3f8fc; color: #0f2942; font-family: 'Manrope', 'Inter', -apple-system, 'Segoe UI', sans-serif; }
.az-wrap { max-width: 920px; margin: 0 auto; padding: 0 16px; }

/* ── Üst bant: menünün arkası koyu (şeffaf menü beyaz yazılı) — yalnız H1 ── */
.az-hero { background: linear-gradient(135deg, #0b2540 0%, #0369a1 62%, #0ea5e9 100%); color: #fff; padding: 88px 0 14px; }
.az-hero h1 { margin: 0; font: 800 clamp(1.3rem, 5vw, 1.9rem)/1.2 'Sora', 'Manrope', sans-serif; color: #fff; text-shadow: 0 2px 12px rgba(0, 0, 0, .25); }
.az-hero .az-alt { margin: 6px 0 0; font-size: .95rem; line-height: 1.5; color: rgba(255, 255, 255, .92); max-width: 640px; }
@media (max-width: 768px) { .az-hero { padding-top: 80px; } }

main.az-main { padding: 14px 0 48px; }

/* ── Araç kartı ── */
.az-arac { position: relative; background: #fff; border: 1px solid #bae6fd; border-radius: 22px; padding: 12px; box-shadow: 0 8px 26px rgba(8, 47, 73, .09); }
.az-ekran-kutu { position: relative; }
.az-araclar { position: absolute; top: 8px; right: 8px; z-index: 6; display: flex; gap: 6px; }
.az-ikon-dugme {
    width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgba(255, 255, 255, .2); color: #fff; font-size: 1.05rem; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; touch-action: manipulation;
}
.az-ikon-dugme[aria-pressed="false"] { background: rgba(0, 0, 0, .22); }
.az-ikon-dugme[aria-pressed="false"] i { opacity: .55; }
.az-ikon-dugme:focus-visible { outline: 3px solid #fde68a; outline-offset: 2px; }

/* ── Büyük süre ekranı (faz rengi arka plan). Eski motor sınıfları: zm-ekran/zm-durum/zm-sayac/zm-turbilgi ── */
.zm-ekran { position: relative; text-align: center; padding: 30px 12px 20px; border-radius: 18px; margin: 0 0 12px; color: #fff; background: #1e3a5f; transition: background .3s ease; }
.zm-ekran.zm-prep { background: #1e3a5f; }
.zm-ekran.zm-work { background: #0f766e; }
.zm-ekran.zm-rest { background: #334e68; }
.zm-ekran.zm-done { background: #166534; }
.zm-ekran.zm-warn { background: #b91c1c; animation: az-uyari 1s steps(1, end) infinite; }
@keyframes az-uyari { 50% { background: #7f1d1d; } }
.zm-durum { margin: 0; font: 800 1.05rem/1.3 'Manrope', sans-serif; letter-spacing: 1.2px; color: #fff; padding-right: 156px; text-align: left; min-height: 1.4em; }
.zm-sayac { margin: 6px 0 2px; font: 800 clamp(84px, 24vw, 200px)/1 'Sora', 'Manrope', sans-serif; font-variant-numeric: tabular-nums; color: #fff; letter-spacing: -.02em; }
.zm-turbilgi { min-height: 1.4em; font: 700 1.05rem/1.4 'Manrope', sans-serif; color: rgba(255, 255, 255, .95); }
#egKrEkran .zm-sayac { font-size: clamp(44px, 14vw, 120px); }
#egKrEkran .zm-durum { text-align: left; }

/* ── Alanlar ── */
.az-alanlar { padding: 2px 2px 4px; }
.az-izgara { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.az-izgara .aa-alan { margin: 0; min-width: 0; }
.az-izgara .az-tam-satir { grid-column: 1 / -1; }
.az-alanlar .aa-cipler { margin: 0 0 12px; }
.az-alanlar [hidden] { display: none !important; }
.az-sure-onizle { margin: 4px 0 0; font-size: .85rem; color: #475569; }
.az-hizli { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.az-hizli .aa-cip { min-height: 44px; padding: 0 14px; font-size: .9rem; }
.az-alanlar .aa-cip.active, .az-alanlar .aa-cip[aria-pressed="true"] { background: #0369a1; border-color: #0369a1; color: #fff; }
.az-gizli-alan { display: none; }

/* ── Havuz kenarı kontrol çubuğu: başparmak bölgesinde ── */
.az-arac .aa-alt-kontrol { margin-top: 12px; }
.az-arac .aa-alt-kontrol .aa-dugme { min-height: 56px; padding: 0 10px; font-size: 1rem; }
.az-arac .aa-alt-kontrol .az-baslat { flex: 2 1 0; min-height: 64px; font-size: 1.15rem; background: #c2410c; }
.az-arac .aa-alt-kontrol .az-ikinci { flex: 1 1 0; background: #0369a1; }
.az-arac .aa-alt-kontrol .az-sifirla { flex: 1 1 0; background: #fff; color: #991b1b; border: 1.5px solid #fca5a5; }
.az-arac .aa-alt-kontrol .az-sifirla.az-onay { background: #b91c1c; color: #fff; border-color: #b91c1c; }
.az-arac .aa-alt-kontrol .aa-dugme[disabled] { opacity: .45; }
.az-arac .aa-alt-kontrol .aa-dugme i { margin: 0; }
.az-tek-kontrol { display: flex; gap: 10px; margin-top: 12px; }
.az-tek-kontrol .aa-dugme { flex: 1 1 0; }

/* ── Tam ekran / tablet modu ── */
.az-arac.az-tam, #egKron.kr-tam {
    position: fixed; inset: 0; z-index: 10060; margin: 0; border-radius: 0; border: 0; padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px));
    display: flex; flex-direction: column; background: #f3f8fc; overflow-y: auto; max-width: none;
}
.az-arac.az-tam .az-ekran-kutu, #egKron.kr-tam .az-ekran-kutu { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.az-arac.az-tam .zm-ekran, #egKron.kr-tam #egKrEkran { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; border-radius: 16px; margin: 0; }
.az-arac.az-tam .zm-sayac { font-size: clamp(120px, min(36vw, 46vh), 440px); }
#egKron.kr-tam #egKrEkran .zm-sayac { font-size: clamp(52px, min(15vw, 28vh), 220px); }
.az-arac.az-tam .zm-durum { font-size: clamp(1.1rem, 3.2vw, 2rem); text-align: center; padding-right: 0; }
.az-arac.az-tam .zm-turbilgi { font-size: clamp(1.05rem, 2.6vw, 1.8rem); }
.az-arac.az-tam .az-alanlar { display: none; }
.az-arac.az-tam .aa-alt-kontrol, #egKron.kr-tam .aa-alt-kontrol { bottom: 4px; }
.az-arac.az-tam .aa-alt-kontrol .aa-dugme { min-height: 68px; }
body.az-tam-acik { overflow: hidden; }
@media (orientation: landscape) and (max-height: 520px) {
    .az-arac.az-tam .zm-sayac { font-size: clamp(90px, min(30vw, 56vh), 340px); }
    .az-arac.az-tam .zm-ekran { padding: 8px; }
    .az-arac.az-tam .aa-alt-kontrol .aa-dugme { min-height: 56px; }
}

/* ── Kronometre: sporcu kartları + tur listeleri (açık zemin) ── */
#egKron { padding: 12px; }
.az-arac #egKrSporcular { display: flex; flex-direction: column; gap: 12px; margin: 14px 0; }
.zks-kart { background: #fff; border: 1.5px solid #bae6fd; border-radius: 16px; padding: 12px; transition: background .25s ease, border-color .25s ease; }
.zks-kart.zks-tamamlandi { border-color: #16a34a; background: #f0fdf4; }
.zks-baslik { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.zks-isim { flex: 1 1 110px; min-width: 90px; min-height: 44px; border: 0; border-bottom: 2px solid #bae6fd; background: transparent; color: #0f2942; font: 800 1rem 'Sora', 'Manrope', sans-serif; padding: 4px 2px; border-radius: 0; }
.zks-isim:focus { outline: none; border-color: #0369a1; }
.zks-mini { font-size: .85rem; font-weight: 800; color: #075985; white-space: nowrap; }
.zks-tur { min-height: 56px; padding: 0 22px; border: 0; border-radius: 14px; background: #0369a1; color: #fff; font: 800 1.05rem 'Manrope', sans-serif; cursor: pointer; touch-action: manipulation; }
.zks-tur[disabled] { opacity: .45; cursor: not-allowed; }
.zks-tur i { margin-right: 8px; }
.zks-kaldir { width: 44px; height: 44px; border: 0; border-radius: 12px; background: #fee2e2; color: #991b1b; cursor: pointer; flex: none; }
.zks-ayar-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.zks-ayar-row label { display: block; font: 700 .85rem/1.2 'Manrope', sans-serif; color: #075985; }
.zks-ayar-row input { display: block; width: 100%; min-height: 48px; margin-top: 6px; padding: 0 12px; border: 1.5px solid #bae6fd; border-radius: 12px; background: #fff; font: 700 1.05rem 'Manrope', sans-serif; color: #0f2942; box-sizing: border-box; }
.zks-beklenen { margin-top: 10px; padding: 8px 12px; border-radius: 10px; background: #e0f2fe; color: #075985; font-size: .9rem; font-weight: 700; }
.zks-beklenen.zks-gec { background: #fee2e2; color: #991b1b; }
.zks-dinlenme-badge { margin-top: 8px; padding: 10px 12px; border-radius: 10px; font-weight: 800; text-align: center; }
.zks-dinlenme-badge.zks-dinlenme-aktif { background: #e0f2fe; color: #075985; }
.zks-dinlenme-badge.zks-dinlenme-bitti { background: #15803d; color: #fff; }
.zk-lap-liste { max-height: 260px; overflow-y: auto; margin-top: 12px; border: 1px solid #e0f2fe; border-radius: 12px; background: #f8fcff; }
.zk-lap-liste:empty { display: none; }
.zk-lap-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; padding: 10px 12px; border-bottom: 1px solid #e0f2fe; font-variant-numeric: tabular-nums; font-size: .95rem; color: #0f2942; }
.zk-lap-row:last-child { border-bottom: 0; }
.zk-lap-row.zk-lap-en-iyi { background: #dcfce7; }
.zk-lap-row.zk-lap-en-kotu { background: #fee2e2; }
.zk-lap-no { font-weight: 800; min-width: 30px; color: #075985; }
.zk-lap-split { font-weight: 800; }
.zk-lap-toplam { margin-left: auto; font-size: .85rem; color: #475569; }
.zk-lap-fark { font-weight: 800; padding: 2px 9px; border-radius: 999px; font-size: .82rem; }
.zk-lap-fark.zk-fazla { background: #fee2e2; color: #991b1b; }
.zk-lap-fark.zk-eksik { background: #dcfce7; color: #166534; }
.zk-lap-fark.zk-tam { background: #e2e8f0; color: #1e293b; }
.az-sporcu-ekle { margin-top: 4px; }

/* ── Çoklu kulvar kartları ── */
.zk-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin-bottom: 12px; }
.zk-grid > .zk-kart { min-width: 0; }
.zk-kart { background: #f8fcff; border: 1.5px solid #bae6fd; border-radius: 18px; padding: 12px; }
.zk-kart-baslik { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.zk-isim { flex: 1; min-width: 0; min-height: 44px; border: 0; border-bottom: 2px solid #bae6fd; background: transparent; font: 800 1.05rem 'Sora', 'Manrope', sans-serif; color: #0f2942; }
.zk-isim:focus { outline: none; border-color: #0369a1; }
.zk-kaldir { width: 44px; height: 44px; border: 0; border-radius: 12px; background: #fee2e2; color: #991b1b; cursor: pointer; flex: none; }
.zk-kart .zm-ekran { padding: 22px 10px 14px; }
.zk-kart .zm-sayac { font-size: clamp(60px, 16vw, 110px); }
.zk-kart .zm-durum { padding-right: 0; }
.zk-kart-kontrol { display: flex; gap: 8px; margin-top: 10px; }
.zk-kart-kontrol .aa-dugme { flex: 1 1 0; min-height: 56px; padding: 0 8px; }
.zk-kart-kontrol .zk-baslat { flex: 2 1 0; background: #c2410c; }
.zk-kart-kontrol .zk-durdur { background: #0369a1; }
.zk-kart-kontrol .zk-sifirla { background: #fff; color: #991b1b; border: 1.5px solid #fca5a5; }
.zk-tip-modes { margin-bottom: 10px; }
@media (min-width: 760px) { .zk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ── Yarış start sinyali ── */
.az-start-durum { text-align: center; padding: 38px 12px; border-radius: 18px; background: #1e3a5f; color: #fff; margin-bottom: 12px; }
.az-start-durum b { display: block; font: 800 clamp(1.8rem, 8vw, 3.2rem)/1.15 'Sora', 'Manrope', sans-serif; letter-spacing: .5px; }
.az-start-durum.az-start-git { background: #166534; }

/* ── Sayfa gövdesi ── */
.az-bolum { margin: 22px 0 0; }
.az-bolum > h2 { margin: 0 0 8px; font: 800 1.15rem/1.3 'Sora', 'Manrope', sans-serif; color: #0c1e35; }
.az-bolum p { margin: 0 0 10px; line-height: 1.7; color: #1e3550; font-size: 1rem; }
.az-bolum .aa-bilgi { margin-top: 8px; }
.az-bolum .aa-bilgi p { margin: 0 0 8px; }
.az-bolum .aa-bilgi ul { margin: 0 0 8px; padding-left: 20px; line-height: 1.7; }
.az-kartlar { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 640px) { .az-kartlar { grid-template-columns: 1fr 1fr; } }
.az-kart-link { display: flex; gap: 12px; align-items: center; min-height: 68px; padding: 12px 14px; border: 1px solid #bae6fd; border-radius: 16px; background: #fff; color: #0f2942; text-decoration: none; box-shadow: 0 4px 14px rgba(8, 47, 73, .05); }
.az-kart-link:hover { border-color: #0369a1; }
.az-kart-link:focus-visible { outline: 3px solid #38bdf8; outline-offset: 2px; }
.az-kart-ik { flex: none; width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: #e0f2fe; color: #075985; font-size: 1.1rem; }
.az-kart-link b { display: block; font: 800 1rem/1.3 'Sora', 'Manrope', sans-serif; }
.az-kart-link span.az-ac { display: block; margin-top: 3px; font-size: .88rem; line-height: 1.45; color: #475569; }
.az-grup-baslik { margin: 18px 0 8px; font: 800 .8rem/1.2 'Manrope', sans-serif; letter-spacing: 1.2px; text-transform: uppercase; color: #075985; }
.az-meta { margin-top: 22px; padding: 12px 14px; border-radius: 14px; background: #fff; border: 1px solid #e3ecf3; font-size: .85rem; line-height: 1.7; color: #475569; }
.az-meta a { color: #075985; font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; }
.az-kirinti { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin: 18px 0 0; font-size: .85rem; color: #475569; }
.az-kirinti a { display: inline-flex; align-items: center; min-height: 44px; color: #075985; font-weight: 700; text-decoration: none; }
.az-kirinti strong { color: #0f2942; }

@media (min-width: 900px) { .az-arac { padding: 18px; } .az-izgara { grid-template-columns: repeat(3, 1fr); } }
@media (prefers-reduced-motion: reduce) { .zm-ekran, .zm-ekran.zm-warn { transition: none; animation: none; } }
body.app-kb .az-arac .aa-alt-kontrol { display: none; }

/* ── Kontrol çubuğu ayrıntıları: Başlat ⇄ Duraklat tek büyük düğme gibi davranır (motor disabled'ı değiştirir) ── */
.az-arac .aa-alt-kontrol .az-baslat[disabled] { display: none; }
.az-arac .aa-alt-kontrol .az-ikon-genis { flex: 0 0 60px; padding: 0; }
.az-arac .aa-alt-kontrol .az-durdur { background: #0369a1; }
.az-arac .az-ikinci[disabled] { opacity: .45; }
.zk-kart-kontrol .zk-baslat[disabled] { display: none; }
.zk-kart-kontrol .zk-durdur { background: #0369a1; }
.zk-kart-kontrol .zk-sifirla { flex: 0 0 60px; padding: 0; }
/* kulvar / start sayfalarında ses-titreşim düğmeleri ekranın içinde değil, kartın üstünde (açık zemin) */
.az-araclar-statik { position: static; justify-content: flex-end; margin: 10px 0 0; }
.az-ikon-dugme.az-koyu { background: #e0f2fe; color: #075985; }
.az-ikon-dugme.az-koyu[aria-pressed="false"] { background: #f1f5f9; color: #475569; }
.az-arac > .aa-alt-kontrol + .az-araclar-statik { margin-top: 8px; }
/* Sıfırla onayı: bir kez dokununca kırmızıya döner, kısa uyarı çıkar */
.az-toast { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(var(--app-tab-h, 0px) + 96px + env(safe-area-inset-bottom, 0px)); z-index: 10065; max-width: min(92vw, 420px); padding: 10px 16px; border-radius: 12px; background: #7f1d1d; color: #fff; font: 700 .95rem/1.4 'Manrope', sans-serif; text-align: center; box-shadow: 0 8px 24px rgba(0, 0, 0, .3); }
.az-arac .az-sifirla.az-onay, .zk-sifirla.az-onay { background: #b91c1c; color: #fff; border-color: #b91c1c; }
@media (max-width: 520px) { .zks-baslik .zks-tur { order: 5; flex: 1 1 100%; } }
@media (max-width: 380px) { .az-izgara { gap: 8px; } .az-arac { padding: 10px; } }

/* ── Sticky kontrol çubuğunun çalışması için: app-ui.css html+body'ye overflow koyunca body kaydırma kabı olup sticky'yi
   işlevsiz bırakıyor (yatay taşma kırpması korunur, ama kaydırma kabı oluşmaz: clip) ── */
html.app-on body.az-page, body.az-page { overflow-x: clip !important; overflow-y: visible !important; }

/* ── Mobil sıkılaştırma: tip çipleri bölünmüş düğme, hızlı çipler ızgara ── */
.az-alanlar > .aa-cipler { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.az-alanlar > .aa-cipler .aa-cip { min-height: 48px; padding: 6px 8px; line-height: 1.2; border-radius: 14px; font-size: .92rem; }
.az-alanlar > .aa-cipler.az-gizli-alan { display: none; }
.az-hizli { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.az-hizli .aa-cip { flex: 1 1 56px; padding: 0 6px; min-width: 0; font-size: .92rem; border-radius: 14px; }
.az-arac [hidden], .zk-kart [hidden] { display: none !important; }
