body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    background-color: #2b2b2b;
    color: #e0e0e0;
}

.container {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

h1 {
    margin-top: 0;
    color: #ffd700;
}

.wheel-container {
    position: relative;
    width: 90vmin;
    height: 90vmin;
    border-radius: 50%;
    background: transparent;
    box-shadow: 0 10px 30px rgba(0,0,0,0.6);
    user-select: none;
    touch-action: none;
}

.wheel {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
}

.outer-wheel {
    width: 100%;
    height: 100%;
    background: #f8f9fa;
    border: 3px solid #343a40;
    color: #111;
}

.inner-wheel {
    width: 75%;
    height: 75%;
    background: #e9ecef;
    border: 3px solid #343a40;
    color: #111;
    cursor: grab;
    transition: transform 0.1s linear;
    z-index: 5;
}

.center-hole {
    width: 50%;
    height: 50%;
    background: #ffffff;
    border: 3px solid #343a40;
    z-index: 6;
    pointer-events: none;
}

.center-input {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 38%;
    height: 10%;
    text-align: center;
    font-size: 5vmin;
    font-family: inherit;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: #111;
    outline: none;
    z-index: 10;
    font-weight: 700;
    transition: border-bottom 0.2s;
}

.center-input:focus {
    border-bottom: 2px solid #343a40;
}

.inner-wheel:active {
    cursor: grabbing;
}

::placeholder {
    color: #adb5bd;
    font-weight: 500;
}

.center-knob {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6vmin;
    height: 6vmin;
    background: radial-gradient(circle, #888, #333);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.5);
    transform: translate(-50%, -50%);
    z-index: 10;
}

.letter {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6vmin;
    height: 6vmin;
    margin-top: -3vmin;
    margin-left: -3vmin;
    line-height: 6vmin;
    text-align: center;
    font-weight: 700;
    font-size: 5vmin;
    font-family: sans-serif;
    transform-origin: center center;
    pointer-events: none;
}