/* Açılış ekranı (shared/splash.js). Marka: Mavi #0878B8 · Derin #073B63 · Dijital #2D9CDB · Buz #EAF5FB · Mürekkep #17212B.
   Zemin her iki temada aynıdır (marka anı). Toplam ~2,0 sn: yol çizilir, araba süzülür, pin düşer, halka yayılır, logo ve slogan belirir, ilerleme çizgisi dolar.
   Yerel (Capacitor) açılış rengi ile uyum: bkz. apps/README.md "Açılış ekranı". */
:root { --sp-bg: linear-gradient(170deg, #0878b8 -35%, #073b63 55%, #052a47 100%); }
/* İlk boyamada beyaz çakmasın: index.html'deki satır içi betik html'e `otb-sp` ekler; zemin tarayıcıya hemen CSS'ten gelir. */
html.otb-sp { background: #073b63; }
html.otb-sp::before { content: ""; position: fixed; inset: 0; z-index: 2147483000; background: var(--sp-bg); pointer-events: none; animation: otb-sp-failsafe 0s 4s forwards; }
@keyframes otb-sp-failsafe { to { visibility: hidden; } }

.otb-splash { position: fixed; inset: 0; z-index: 2147483001; display: grid; place-items: center; background: var(--sp-bg); color: #eaf5fb; font-family: var(--font, system-ui, sans-serif); overflow: hidden; cursor: pointer; opacity: 1; transition: opacity .28s ease; touch-action: manipulation; }
.otb-splash::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 40% at 50% 38%, rgba(45, 156, 219, .28), transparent 70%); pointer-events: none; }
.otb-splash.out { opacity: 0; pointer-events: none; }
.otb-sp-card { display: grid; place-items: center; width: 100%; padding: 0 16px; }
/* Yalnız "otomobin" yazısı: ortada, küçük; soldan sağa açılır, ışık süpürür, hafifçe nefes alır. */
.otb-sp-word { position: relative; width: min(54vw, 210px); }
.otb-sp-logo { position: relative; z-index: 1; display: block; width: 100%; height: auto; clip-path: inset(0 100% 0 0); transform: scale(.94); opacity: 0; animation: otb-sp-reveal .95s .15s cubic-bezier(.3, .7, .2, 1) forwards; }
@keyframes otb-sp-reveal { 0% { opacity: 0; clip-path: inset(0 100% 0 0); transform: scale(.94); } 15% { opacity: 1; } 100% { opacity: 1; clip-path: inset(0 0 0 0); transform: scale(1); } }
@keyframes otb-sp-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025); } }
.otb-sp-glow { position: absolute; inset: -60% -20%; border-radius: 50%; background: radial-gradient(closest-side, rgba(45, 156, 219, .38), transparent 72%); opacity: 0; animation: otb-sp-glow 1.3s .1s ease-out forwards; }
@keyframes otb-sp-glow { to { opacity: 1; } }

/* Ekran okuyucu: yalnız "Yükleniyor" okunur; görsel içerik aria-hidden. */
.otb-sp-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }


/* Sade ekran / azaltılmış hareket: animasyon yok, statik logo + slogan (splash.js kısa gösterir). */
.otb-splash.calm * { animation: none !important; transition: none !important; }
.otb-splash.calm .otb-sp-logo { opacity: 1; clip-path: none; transform: none; }
.otb-splash.calm, .otb-splash.calm.out { transition: none; }
@media (prefers-reduced-motion: reduce) {
  .otb-splash, .otb-splash * { animation: none !important; transition: none !important; }
  .otb-splash .otb-sp-logo { opacity: 1; clip-path: none; transform: none; }
  html.otb-sp::before { animation: none; }
}
