/* =====================================================================
   NEON PLINKO — Tasarım Sistemi (Dark Mode)
   ---------------------------------------------------------------------
   Tek bir koyu temaya BİLİNÇLİ olarak bağlıyız: neon estetiği aydınlık
   zeminde çalışmaz. Renkler token olarak burada tanımlanır; hiçbir
   bileşen dosyası ham hex kullanmaz.

   Palet mantığı:
     - Zemin katmanları (bg-0..3) neredeyse siyahtan lacivere doğru
     - Vurgu renkleri yüksek doygunlukta ve SADECE küçük alanlarda
     - Metin 3 kademe: birincil / ikincil / soluk
   ===================================================================== */

:root {
    /* --- Zemin katmanları --- */
    --bg-0: #04050d;
    --bg-1: #080b18;
    --bg-2: #0e1226;
    --bg-3: #161c36;

    /* --- Cam yüzeyler --- */
    --surface: rgba(20, 26, 52, 0.72);
    --surface-hi: rgba(32, 40, 74, 0.78);
    --border: rgba(120, 150, 255, 0.14);
    --border-hi: rgba(120, 200, 255, 0.34);

    /* --- Neon vurgular --- */
    --cyan: #00e5ff;
    --magenta: #ff2d95;
    --violet: #a855f7;
    --lime: #4ade80;
    --gold: #ffd700;
    --amber: #fbbf24;
    --danger: #ff4d6d;

    /* --- Metin --- */
    --text: #e8ecff;
    --text-dim: #98a3d4;
    --text-faint: #5c6798;

    /* --- Parıltılar (box-shadow için hazır değerler) --- */
    --glow-cyan: 0 0 12px rgba(0, 229, 255, 0.45), 0 0 34px rgba(0, 229, 255, 0.18);
    --glow-magenta: 0 0 12px rgba(255, 45, 149, 0.45), 0 0 34px rgba(255, 45, 149, 0.18);
    --glow-lime: 0 0 12px rgba(74, 222, 128, 0.45), 0 0 30px rgba(74, 222, 128, 0.16);
    --glow-gold: 0 0 12px rgba(255, 215, 0, 0.4), 0 0 30px rgba(255, 215, 0, 0.15);

    /* --- Ölçü sistemi --- */
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 18px;
    --r-pill: 999px;

    --sp-1: 4px;
    --sp-2: 8px;
    --sp-3: 12px;
    --sp-4: 16px;
    --sp-5: 24px;
    --sp-6: 32px;

    --font: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    --font-num: 'SF Mono', 'Cascadia Mono', 'Roboto Mono', ui-monospace, monospace;

    --ease: cubic-bezier(0.22, 1, 0.36, 1);
    --dur: 180ms;
}

/* --- Sıfırlama --- */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    height: 100%;
}

body {
    background: var(--bg-0);
    color: var(--text);
    font-family: var(--font);
    font-size: 15px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;

    /* Mobilde adres çubuğu kaymasını ve lastik bant efektini engelle */
    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
}

button {
    font: inherit;
    color: inherit;
    background: none;
    border: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
}

ul {
    list-style: none;
}

/* Hareket hassasiyeti olan kullanıcılar için animasyonları kıs */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
