:root { 
    --bg-color: #f7f7f7; 
    --dark: #2d3436; 
    --accent: #ff4757; 
    --success-btn: #4ade80; 
}

* { box-sizing: border-box; }

body { 
    background-color: var(--bg-color); 
    font-family: 'Fredoka', sans-serif; 
    margin: 0; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    min-height: 100vh;
    /* Mobil tarayıcı barı sorunu için fix */
    min-height: -webkit-fill-available; 
    padding: 20px 15px;
}

.container { 
    display: flex; 
    flex-direction: column; 
    gap: 25px; 
    background: white; 
    padding: 25px; 
    border-radius: 40px; 
    box-shadow: 0 10px 40px rgba(0,0,0,0.03); 
    align-items: center; 
    width: 100%;
    max-width: 900px;
    margin: auto;
}

@media (min-width: 900px) {
    .container { flex-direction: row; padding: 50px; gap: 60px; }
}

.left-side { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 400px; }
.wheel-outer { position: relative; width: 100%; max-width: 380px; aspect-ratio: 1 / 1; }
#wheelSVG { width: 100%; height: 100%; transform: rotate(-90deg); transition: transform 4s cubic-bezier(0.15, 0, 0.15, 1); }

.wheel-center { 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); 
    width: 50px; height: 50px; background: white; border-radius: 50%; z-index: 10; 
}

.pointer-triangle { 
    position: absolute; top: -12px; left: 50%; transform: translateX(-50%); 
    width: 0; height: 0; border-left: 18px solid transparent; border-right: 18px solid transparent; 
    border-top: 30px solid var(--accent); z-index: 30; 
}

#spinBtn { 
    margin-top: 30px; padding: 16px 45px; width: 100%; max-width: 280px;
    border-radius: 50px; border: none; background: var(--dark); color: white; 
    font-family: 'Quicksand', sans-serif; font-size: 1.1rem; font-weight: 700; 
    cursor: pointer; transition: 0.3s; box-shadow: 0 6px 0px #000; 
}
#spinBtn:active { transform: translateY(4px); box-shadow: 0 2px 0px #000; }

.right-side { width: 100%; max-width: 340px; text-align: center; }
.main-category-display { font-size: 2rem; font-weight: 700; color: var(--accent); margin: 15px 0; }

.slot-container { 
    height: 70px; 
    overflow: hidden; 
    background: #fff; 
    border: 3px solid #f2f2f2; 
    border-radius: 20px; 
    display: flex;
    align-items: center;
    justify-content: center;
}

.slot-item { height: 70px; line-height: 70px; font-weight: 700; font-size: 1.1rem; color: #444; text-transform: uppercase; }

.blink-text { animation: fadeInOut 0.8s ease-in-out infinite; color: var(--accent); }
@keyframes fadeInOut { 0%, 100% { opacity: 0.2; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1); } }

/* POP-UP (KESİN MERKEZLEME) */
.modal { 
    display: none; 
    position: fixed; 
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.7); 
    backdrop-filter: blur(8px); 
    z-index: 9999; 
    justify-content: center; 
    align-items: center; 
    padding: 20px;
}

.modal-content { 
    background: white; 
    padding: 40px 20px; 
    width: 100%; 
    max-width: 400px; 
    border-radius: 40px; 
    text-align: center; 
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    position: relative;
}

.modal-content h1 { font-family: 'Quicksand', sans-serif; font-weight: 900; font-size: 2.2rem; margin: 10px 0 20px; }
.modal-info { margin-bottom: 30px; display: flex; flex-direction: column; gap: 8px; }
.modal-info span { font-size: 0.9rem; color: #888; text-transform: uppercase; font-weight: 600; }
.modal-info h2 { font-size: 2.1rem; color: var(--accent); margin: 0; font-weight: 700; }

.close-btn { 
    padding: 16px 40px; background: var(--success-btn); color: white; border: none; 
    border-radius: 18px; cursor: pointer; font-weight: 700; font-size: 1.1rem;
    box-shadow: 0 5px 0px #34a853; transition: 0.1s; width: 100%; max-width: 250px;
}
.celebration { font-size: 3rem; margin-bottom: 10px; }