/* 기본 스타일 및 초기화 */
body {
    font-family: 'Arial', sans-serif;
    background-color: #f4f7f6;
    color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    padding: 20px;
}

.container {
    background: #ffffff;
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    text-align: center;
    max-width: 600px;
    width: 100%;
    box-sizing: border-box;
}

h1 {
    color: #007bff;
    margin-bottom: 30px;
    font-size: 2em;
}

/* 로또 번호 표시 영역 */
.number-display {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; /* 모바일 대응을 위해 줄 바꿈 허용 */
    gap: 15px;
    min-height: 80px; /* 번호가 없을 때 높이 유지 */
    margin-bottom: 30px;
    padding: 10px;
}

.initial-message {
    color: #999;
    font-size: 1.1em;
    padding: 15px;
}

/* 로또 번호 공 (이미지 효과) */
.lotto-ball {
    width: 55px;
    height: 55px;
    border-radius: 50%; /* 원형 */
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5em;
    font-weight: bold;
    color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* 입체감 */
    transition: transform 0.3s ease-in-out;
}

.lotto-ball:hover {
    transform: scale(1.1); /* 호버 시 확대 효과 */
}

/* 번호 구간별 색상 지정 (로또 규칙 기반) */
/* 1~10: 노란색 */
.ball-color-1 { background: linear-gradient(145deg, #ffc107, #ffa000); }
/* 11~20: 파란색 */
.ball-color-2 { background: linear-gradient(145deg, #1e88e5, #0d47a1); }
/* 21~30: 빨간색 */
.ball-color-3 { background: linear-gradient(145deg, #e53935, #b71c1c); }
/* 31~40: 검은색 */
.ball-color-4 { background: linear-gradient(145deg, #424242, #212121); }
/* 41~45: 초록색 */
.ball-color-5 { background: linear-gradient(145deg, #43a047, #1b5e20); }

/* 번호 생성 버튼 */
#generate-button {
    background-color: #28a745;
    color: white;
    border: none;
    padding: 15px 30px;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 1.2em;
    border-radius: 50px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
    box-shadow: 0 5px 15px rgba(40, 167, 69, 0.4);
}

#generate-button:hover {
    background-color: #218838;
}

#generate-button:active {
    transform: translateY(2px);
}

.icon {
    font-size: 1.5em;
    line-height: 1;
}

/* -------------------- */
/* 모바일 반응형 디자인 */
/* -------------------- */
@media (max-width: 600px) {
    .container {
        padding: 20px 15px;
        border-radius: 10px;
    }

    h1 {
        font-size: 1.5em;
        margin-bottom: 20px;
    }

    .lotto-ball {
        width: 45px;
        height: 45px;
        font-size: 1.2em;
    }

    .number-display {
        gap: 10px;
    }

    #generate-button {
        padding: 12px 25px;
        font-size: 1em;
        width: 100%; /* 모바일에서 버튼 너비 확장 */
    }
}