body {
    font-family: 'Pretendard', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
    background-color: #2c3e50;
    color: #ecf0f1;
    overflow: hidden;
}

.container {
    text-align: center;
}

h1 {
    font-size: 3em;
    margin-bottom: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.roulette-container {
    position: relative;
    width: 600px;
    height: 600px;
    margin: 20px auto;
}

#wheel {
    width: 100%;
    height: 100%;
    transition: transform 10s cubic-bezier(0.1, 0.1, 0, 1); 
}

.pointer {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 30px solid #e74c3c;
    z-index: 10;
    filter: drop-shadow(0px -4px 4px rgba(0, 0, 0, 0.3));
}

.buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 10px;
}

#spinBtn, #resetBtn {
    padding: 15px 40px;
    font-size: 1.5em;
    font-weight: bold;
    color: #fff;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

#spinBtn {
    background: #e74c3c;
}

#resetBtn {
    background: #3498db;
}

#spinBtn:hover {
    background-color: #c0392b;
}

#resetBtn:hover {
    background-color: #2980b9;
}

#spinBtn:active, #resetBtn:active {
    transform: scale(0.95);
}

#result-container {
    margin-top: 20px;
    height: 60px;
}

#result {
    font-size: 2.2em;
    font-weight: bold;
    color: #f1c40f;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

#result.show {
    opacity: 1;
    transform: translateY(0);
}

body::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAAUVBMVEWFhYWDg4N3d3dtbW17e3t1dXVpaWnDw8PS0tJwcHCbm5uVlZWTk5NKSoojIyNGRkZMTExcg4OEhISMusnDw8PKysrGxsZwcHBzc3N7e31GRkaPj4+JiYlOTk4+Pj5lZWU+Pj46OjoMDAwLCgpcAAAAEXRSTlMAwQIDAwMDBAMEBAQFBgcHCAgJCQoLDRATGx2s3g0AAAFLSURBVEiJ7dTbCsMgDEDRFdYV1F2w7ve/tMUrT4M9cRjLDBETe2bG43kSAsfyT3o9EMgDQCCl/5gA/QyUu6Oifm/QdQN2CRB8dOQcPA9D2l6ciFya/nDAfQdYmAi8D4y06f/xAYuQKDgC3h/C+fAPAQ3vBf/nADQWnQ3HAAxAGCCeD8a0BByu3gAAAABJRU5ErkJggg==');
    opacity: 0.05;
    z-index: -1;
}

@import url('https://fonts.googleapis.com/css2?family=Poor+Story&family=Black+Han+Sans&display=swap');

body {
    font-family: 'Poor Story', cursive;
}

h1, #spinBtn, #resetBtn, #result {
    font-family: 'Black Han Sans', sans-serif;
}
