/* ==========================================
   KATMAN - ANA STİL DOSYASI
========================================== */

* { margin: 0; padding: 0; box-sizing: border-box; scrollbar-width: thin; scrollbar-color: #ff99cc #111; }
*::-webkit-scrollbar { width: calc(var(--y) * 0.25); }
*::-webkit-scrollbar-track { background: #111; border-radius: calc(var(--y) * 0.5); }
*::-webkit-scrollbar-thumb { background: #ff99cc; border-radius: calc(var(--y) * 0.5); }

/* ZEKÂ: Ana ekranın scroll'u kapatıldı, 100% yükseklik kilitlendi */
body { 
    background-color: #000; color: #fff; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    overflow: hidden; height: 100vh; width: 100vw; 
}

/* ZEKÂ: Sitenin ana iskeleti artık dikey (column) flex yapısına geçti */
.main-container { 
    display: flex; flex-direction: column; height: 100vh; width: 100%; 
}

/* ==========================================
   HAYALET SCROLLBAR (GÖRÜNMEZ -> GÖRÜNÜR)
========================================== */
.scrollable-area { 
    flex: 1; overflow-y: auto; overflow-x: hidden; width: 100%; 
    /* ZEKÂ: Masaüstünde sağda ve solda tam 1y boşluk bırakır. */
    padding: 0 calc(var(--y) * 1); 
}

/* Scrollbar varsayılan olarak şeffaf (Hayalet) */
.scrollable-area::-webkit-scrollbar { width: calc(var(--y) * 0.5); }
.scrollable-area::-webkit-scrollbar-track { background: transparent; }
.scrollable-area::-webkit-scrollbar-thumb { background: transparent; border-radius: calc(var(--y) * 0.25); }

/* JS ile '.is-scrolling' sınıfı eklendiğinde anında görünür olur */
.scrollable-area.is-scrolling::-webkit-scrollbar-thumb { background: #ff99cc; }
.scrollable-area.is-scrolling::-webkit-scrollbar-thumb:hover { background: #ff66aa; }

a { text-decoration: none; color: inherit; }

/* AÇILIŞ VE HEADER EKRANI */
#splash-screen { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: #000; z-index: 9999; display: flex; align-items: center; justify-content: center; transition: opacity 0.8s ease-out; }
#splash-screen.hidden-splash { opacity: 0; pointer-events: none; }
.splash-content { text-align: center; }

/* ZEKÂ: Splash ekranındaki görsel logo için zarif boyutlandırma ve parlama (pulse) efekti */
.splash-logo { 
    height: calc(var(--y) * 8); /* Göz yormayan şık bir boyut */
    width: auto; 
    object-fit: contain; 
    filter: drop-shadow(0 0 calc(var(--y) * 1.5) rgba(255, 153, 204, 0.4));
    animation: pulseGlow 2s infinite alternate ease-in-out;
}

@keyframes pulseGlow {
    0% { filter: drop-shadow(0 0 calc(var(--y) * 0.5) rgba(255, 153, 204, 0.2)); transform: scale(1); }
    100% { filter: drop-shadow(0 0 calc(var(--y) * 2) rgba(255, 153, 204, 0.6)); transform: scale(1.02); }
}

/* GENEL BUTONLAR VE TOAST */
.main-container { padding-top: calc(var(--y) * 4); min-height: 100vh; padding-bottom: calc(var(--y) * 2.5); }
.action-btn { width: 100%; background: transparent; color: #ff99cc; font-weight: bold; padding: calc(var(--y) * 0.75); border: 2px solid #ff99cc; border-radius: calc(var(--y) * 0.25); cursor: pointer; font-size: calc(var(--y) * 1.1); text-transform: uppercase; transition: 0.2s; }
.action-btn:hover:not(.disabled) { background: #ff99cc; color: #fff; }
.action-btn.disabled { pointer-events: none; opacity: 0.5; }
.back-btn { display: inline-block; margin-bottom: calc(var(--y) * 1); color: #aaa; cursor: pointer; text-decoration: underline; font-weight: bold; }
.back-btn:hover { color: #ff99cc; }
.toast-notification { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(17, 17, 17, 0.9); border: 2px solid #ff99cc; color: #ff99cc; padding: calc(var(--y) * 1) calc(var(--y) * 2); border-radius: calc(var(--y) * 0.75); font-size: calc(var(--y) * 1.4); font-weight: bold; z-index: 10000; backdrop-filter: blur(calc(var(--y) * 0.5)); pointer-events: none; opacity: 0; transition: opacity 0.4s ease-in-out, transform 0.4s ease-out; box-shadow: 0 calc(var(--y) * 0.75) calc(var(--y) * 1.75) rgba(0,0,0,0.5); display: flex; align-items: center; gap: calc(var(--y) * 0.75); }
.toast-notification.show { opacity: 1; transform: translate(-50%, -55%); }

/* ==========================================
   ANA KUTU SİSTEMİ VE KAYIP GRID KURALLARI
========================================== */

/* ZEKÂ: Max-width 1600px yapıldı ve justify-content: center ile sağdaki boşluk hatası çözüldü */
.katman-page-grid { 
    display: grid; grid-template-columns: repeat(4, 1fr); gap: calc(var(--y) * 0.5); 
    max-width: 1600px; margin: 0 auto; padding: calc(var(--y) * 0.5); 
    align-items: start; justify-content: center; 
}

.box-span-2 { grid-column: span 2; }

.grid-container {
    display: grid;
    row-gap: 0; 
    column-gap: var(--y);
    grid-auto-rows: var(--y);
    padding: calc(var(--y) * 0.5) 0;
    max-width: 1600px;
    margin: 0 auto;
    justify-content: center; /* ZEKÂ: 67 birimlik içeriği 69 birimlik alanın tam ortasına sabitler */
}

/* ==========================================
   JS'DEN ÇIKARILAN ORTAK ÇEKİRDEK (CORE) STİLLERİ
========================================== */

/* UI.js Özellikleri (Toast & Açılır Menü) */
.toast-icon { color: #4ade80; font-size: calc(var(--y) * 1.6); }
.header-dropdown-menu { position: absolute; top: calc(var(--y) * 4); left: calc(var(--y) * 1); background: #1a1a1a; border: 1px solid #ff99cc; border-radius: calc(var(--y) * 0.5); z-index: 1000; min-width: calc(var(--y) * 12.5); display: none; box-shadow: 0 calc(var(--y) * 0.5) calc(var(--y) * 1) rgba(0,0,0,0.8); overflow: hidden; }
.header-dropdown-fav { padding: calc(var(--y) * 1); border-bottom: 1px solid #333; cursor: pointer; color: #ff99cc; font-weight: bold; transition: 0.2s; }
.header-dropdown-fav:hover { background: #333; }
.header-dropdown-item { padding: calc(var(--y) * 1); border-bottom: 1px solid #333; cursor: pointer; color: #fff; transition: 0.2s; }
.header-dropdown-item:hover { background: #333; }

/* Modal Engine Özellikleri (Confirm, Prompt & KVKK) */
.modal-prompt-input { width: 100%; padding: calc(var(--y) * 0.5); background: #222; border: 1px solid #444; color: #fff; border-radius: calc(var(--y) * 0.5); resize: vertical; font-family: inherit; margin-bottom: calc(var(--y) * 1); }
.confirm-box { background: #1a1a1a; border: 1px solid #ff4d4d; border-radius: calc(var(--y) * 0.5); padding: calc(var(--y) * 1.5); max-width: 400px; width: 90%; text-align: center; box-shadow: 0 calc(var(--y) * 0.5) calc(var(--y) * 1.5) rgba(0,0,0,0.5); transform: scale(0.9); transition: 0.3s ease; }
.confirm-icon { color: #ff4d4d; font-size: calc(var(--y) * 2.7); margin-bottom: calc(var(--y) * 0.75); }
.confirm-msg { color: #ccc; font-size: calc(var(--y) * 1.1); line-height: 1.5; margin-bottom: calc(var(--y) * 1); }
.confirm-btn-group { display: flex; gap: calc(var(--y) * 0.75); justify-content: center; }
.confirm-btn { flex: 1; padding: calc(var(--y) * 0.5); }
.kvkk-body-text { color: #ccc; line-height: 1.7; font-size: calc(var(--y) * 0.9); }
.kvkk-title { color: #ff99cc; font-size: 1.5em; border-bottom: 1px dashed #333; padding-bottom: calc(var(--y) * 0.75); margin-bottom: calc(var(--y) * 1.25); }
.kvkk-title-mt { margin-top: calc(var(--y) * 2); }
.kvkk-info-box { background: #1a1a1a; padding: calc(var(--y) * 0.75); border-radius: calc(var(--y) * 0.5); border-left: 3px solid #ff99cc; }
.kvkk-subtitle { color: #fff; margin: calc(var(--y) * 1) 0 calc(var(--y) * 0.5) 0; }
.kvkk-list { margin-left: calc(var(--y) * 1); margin-bottom: calc(var(--y) * 0.75); }
.kvkk-warning { color: #ffcc00; font-style: italic; }
.kvkk-btn-close { background: transparent; border-color: #555; color: #aaa; width: auto; padding: calc(var(--y) * 0.5) calc(var(--y) * 1.25); }
.kvkk-btn-accept { background: #ff99cc; border-color: #ff99cc; color: #000; width: auto; padding: calc(var(--y) * 0.5) calc(var(--y) * 1.25); font-weight: bold; }

/* Legal View (Tam Sayfa Yasal Metin) İskeleti */
.legal-page-wrapper { padding: calc(var(--y) * 2); background: #111; border-radius: calc(var(--y) * 0.75); border: 1px solid #333; margin-top: calc(var(--y) * 1); }