/* Byte Akademi — bakırdan fosfora, 4,15 saniyelik sessiz açılış. */
.ba-giris[hidden], .ba-giris-gec[hidden] { display: none !important; }
html.ba-intro-acik, body.ba-intro-acik { overflow: hidden !important; overscroll-behavior: none; }
body.ba-intro-acik .cursor-dot, body.ba-intro-acik .cursor-ring { visibility: hidden; }
html.has-cursor .ba-giris-gec { cursor: pointer; }
.ba-giris {
  position: fixed; inset: 0; z-index: 120; overflow: hidden;
  display: grid; place-items: center; isolation: isolate; contain: layout paint;
  background: #090A0F; color: #00FFA3; pointer-events: auto; touch-action: none;
  font-family: 'Geist', sans-serif;
}
.ba-giris-hale {
  position: absolute; inset: 0; pointer-events: none; opacity: 0;
  background: radial-gradient(ellipse 45% 42% at 50% 48%, #00ffa310, transparent 100%);
  animation: ba-giris-hale 1.2s 1.45s ease-out forwards;
}
.ba-giris-cerceve, .ba-giris-alt {
  position: absolute; left: clamp(22px, 4vw, 64px); right: clamp(22px, 4vw, 64px);
  display: flex; justify-content: space-between; align-items: center;
  font: 9px/1.5 'JetBrains Mono', monospace; letter-spacing: .18em; color: #646A73;
}
.ba-giris-cerceve { top: max(32px, env(safe-area-inset-top)); padding-bottom: 18px; border-bottom: 1px solid #ffffff0d; }
.ba-giris-cerceve span:last-child { margin-right: 126px; color: #81705B; }
.ba-giris-alt { bottom: max(30px, env(safe-area-inset-bottom)); padding-top: 18px; border-top: 1px solid #ffffff0d; }
.ba-giris-sahne { width: min(1100px, 100%); padding: 16px 18px 46px; text-align: center; position: relative; }
.ba-giris-devre { display: block; width: min(620px, 85vw); height: auto; margin: 0 auto -4px; overflow: visible; }
.ba-giris-iz-alt { stroke: #D97706; stroke-width: 1; opacity: .09; }
.ba-giris-iz {
  stroke: #D97706; stroke-width: 1.2; stroke-dasharray: 1; stroke-dashoffset: 1;
  animation: ba-giris-ciz .86s var(--gecikme) cubic-bezier(.45, 0, .2, 1) forwards;
}
.ba-giris-uc { stroke: #D97706; stroke-width: 1; fill: #090A0F; opacity: .24; }
.ba-giris-kivilcim {
  fill: #FFE3B2; stroke: #D97706; stroke-width: 4; opacity: 0;
  transform-box: fill-box; transform-origin: center;
  animation: ba-giris-kivilcim .55s var(--gecikme) ease-out forwards;
}
.ba-giris-cip { animation: ba-giris-cip .7s cubic-bezier(.16, 1, .3, 1) both; transform-origin: 50% 53%; }
.ba-giris-damga { font: 800 29px 'Geist', sans-serif; letter-spacing: -1.5px; fill: #5C8070; }
.ba-giris-seri { font: 5px 'JetBrains Mono', monospace; letter-spacing: 1.5px; fill: #628475; }
.ba-giris-cip-isik { opacity: 0; animation: ba-giris-cizirti .8s 1.45s steps(1, end) forwards; }
.ba-giris-cip-isik .ba-giris-damga { fill: #A4FFD9; }
.ba-giris-tabela {
  position: relative; width: max-content; max-width: 100%; margin: 0 auto;
  font-size: clamp(28px, 7.9vw, 96px); font-weight: 800; line-height: 1.12;
  letter-spacing: -.057em; white-space: nowrap;
  animation: ba-giris-tabela .9s 1.35s cubic-bezier(.16, 1, .3, 1) both;
}
.ba-giris-baslik { position: relative; color: #15392D; }
/* Sabit ekstrüzyon: gölgeler kare kare hesaplanmaz, yalnız ışık katmanı titreşir. */
.ba-giris-baslik::before {
  content: attr(data-yazi); position: absolute; inset: 0; z-index: -1; color: #062C21;
  text-shadow: 0 1px #247453, 0 2px #1D6949, 0 3px #18573E, 0 4px #124933,
    0 5px #103E2D, 0 6px #0B3225, 0 7px #09291F, 0 8px #072218,
    0 9px #061A14, 0 13px 4px #0009, 0 20px 22px #000b;
}
.ba-giris-isik {
  position: absolute; inset: 0; opacity: 0; color: #80FFCD;
  background: linear-gradient(180deg, #F0FFF5 2%, #95FFD4 21%, #00FFA3 48%, #13CA84 73%, #80FFD0 97%);
  background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  -webkit-text-stroke: .55px #7CFFC380;
  filter: drop-shadow(0 0 3px #00FFA370) drop-shadow(0 0 16px #00FFA33b);
  animation: ba-giris-cizirti .8s 1.45s steps(1, end) forwards, ba-giris-ugultu 1.4s 2.25s ease-in-out infinite;
}
.ba-giris-isik::after {
  content: attr(data-yazi); position: absolute; inset: 0; color: transparent;
  text-shadow: 0 -1px 1px #DEFFEC55, 0 2px 1px #006F4340;
}
.ba-giris-tek-harf { animation: ba-giris-harf .18s 1.92s steps(1, end) both; }
.ba-giris-imza {
  margin-top: clamp(25px, 3.2vw, 38px); padding-left: .3em;
  color: #BDC3C9; opacity: 0; font: 400 clamp(9px, 1.15vw, 12px)/1.6 'JetBrains Mono', monospace;
  letter-spacing: .3em; animation: ba-giris-imza .65s 2.17s ease-out forwards;
}
.ba-giris-durum {
  display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 28px;
  color: #719083; font: 8px/1 'JetBrains Mono', monospace; letter-spacing: .18em;
  opacity: 0; animation: ba-giris-durum .4s 2.45s ease-out forwards;
}
.ba-giris-durum i { width: 4px; height: 4px; border-radius: 50%; background: #00FFA3; box-shadow: 0 0 9px #00FFA377; }
.ba-giris-flas {
  position: absolute; inset: -25%; z-index: 2; pointer-events: none; opacity: 0;
  background: radial-gradient(ellipse at center, #A8FFD06B 0%, #00FFA319 25%, transparent 60%);
}
.ba-giris-gec {
  position: fixed; top: max(19px, env(safe-area-inset-top)); right: clamp(18px, 4vw, 64px); z-index: 121;
  display: flex; align-items: center; gap: 12px; min-height: 44px; min-width: 92px; padding: 8px 10px;
  border: 1px solid #ffffff18; border-radius: 6px; background: #090A0F; color: #C0C7CB;
  font: 11px/1 'JetBrains Mono', monospace; cursor: pointer; touch-action: manipulation;
  transition: opacity .18s, transform .18s;
}
.ba-giris-gec span { color: #00FFA3; }
.ba-giris-gec kbd { font: 8px/1 'JetBrains Mono', monospace; color: #747B83; }
.ba-giris-gec:hover { transform: translateY(-2px); }
.ba-giris-gec:focus-visible { outline: 2px solid #00FFA3; outline-offset: 5px; }
.ba-giris.ba-giris-cikis { animation: ba-giris-kapan .65s cubic-bezier(.4, 0, .2, 1) forwards; }
.ba-giris-cikis .ba-giris-sahne { animation: ba-giris-uzaklas .65s cubic-bezier(.4, 0, .2, 1) forwards; }
.ba-giris-cikis .ba-giris-flas { animation: ba-giris-flas .65s ease-out forwards; }
@keyframes ba-giris-ciz { to { stroke-dashoffset: 0; } }
@keyframes ba-giris-kivilcim { 0% { opacity: 0; transform: scale(.3); } 22% { opacity: 1; transform: scale(1.15); } 100% { opacity: 0; transform: scale(.55); } }
@keyframes ba-giris-cip { from { opacity: 0; transform: translateY(9px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes ba-giris-tabela { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
/* İki kısa kesinti; büyük ekranın tamamında beyaz flaş kullanılmaz. */
@keyframes ba-giris-cizirti { 0% { opacity: .15; } 12% { opacity: .75; } 19% { opacity: .08; } 31% { opacity: .62; } 59% { opacity: .28; } 70%, 100% { opacity: 1; } }
@keyframes ba-giris-harf { 0%, 100% { opacity: 1; } 20%, 70% { opacity: .1; } }
@keyframes ba-giris-ugultu { 0%, 100% { opacity: 1; } 50% { opacity: .985; } }
@keyframes ba-giris-imza { from { opacity: 0; transform: translateY(5px); } to { opacity: .45; transform: none; } }
@keyframes ba-giris-durum { to { opacity: .7; } }
@keyframes ba-giris-hale { to { opacity: 1; } }
@keyframes ba-giris-uzaklas { to { opacity: 0; transform: scale(1.045); } }
@keyframes ba-giris-flas { 0% { opacity: 0; transform: scale(.3); } 30% { opacity: .75; } 100% { opacity: 0; transform: scale(1.5); } }
@keyframes ba-giris-kapan { 0%, 15% { opacity: 1; } 100% { opacity: 0; } }
@media (max-width: 600px) {
  .ba-giris-cerceve span:last-child { display: none; }
  .ba-giris-sahne { padding-bottom: 30px; }
  .ba-giris-devre { width: 100%; margin-bottom: 24px; }
  .ba-giris-tabela { font-size: clamp(30px, 11.3vw, 66px); letter-spacing: -.055em; }
  .ba-giris-isik { filter: drop-shadow(0 0 2px #00FFA370) drop-shadow(0 0 10px #00FFA330); }
  .ba-giris-gec kbd { display: none; }
  .ba-giris-alt { font-size: 7px; }
}
@media (max-height: 520px) and (min-width: 601px) {
  .ba-giris-sahne { padding: 12px 18px; }
  .ba-giris-devre { width: 310px; margin-bottom: -18px; }
  .ba-giris-tabela { font-size: 48px; }
  .ba-giris-imza { margin-top: 20px; }
  .ba-giris-durum { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ba-giris *, .ba-giris *::before, .ba-giris *::after { animation: none !important; }
  .ba-giris-iz { stroke-dashoffset: 0; }
  .ba-giris-isik, .ba-giris-cip-isik, .ba-giris-hale { opacity: 1; }
  .ba-giris-imza { opacity: .45; }
  .ba-giris-durum { opacity: .7; }
  /* main.css genel hareket kısaltıcısına rağmen yumuşak solmayı koru. */
  .ba-giris { animation: ba-giris-yumusak .2s ease-out both; animation-duration: .2s !important; }
  .ba-giris.ba-giris-cikis { animation: ba-giris-kapan .3s ease-out forwards; animation-duration: .3s !important; }
  .ba-giris-gec { transition: none; }
  @keyframes ba-giris-yumusak { from { opacity: 0; } to { opacity: 1; } }
}
