@import url('https://fonts.googleapis.com/css?family=Noto+Sans:400,700&display=swap');

body {
    min-height: 100vh;
    font-family: 'Noto Sans', Arial, sans-serif;
    background: #f5f5f5;
    margin: 0;
    padding: 0;
}
.main-layout {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}
h1 {
    text-align: center;
    margin-top: 36px;
    margin-bottom: 0;
    font-family: 'Noto Sans', Arial, sans-serif;
    font-weight: 700;
}
#game-container {
    margin-top: 36px;
    margin-bottom: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.flip-card-outer {
    width: 340px;
    max-width: 95vw;
    margin: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 180px;
    transition: min-height 0.3s;
}
.flip-card {
    width: 100%;
    perspective: 1200px;
    position: relative;
    min-height: 180px;
}
.flip-card-inner {
    width: 100%;
    transition: transform 0.6s cubic-bezier(0.8,1,.2,1);
    transform-style: preserve-3d;
    position: relative;
    min-height: 180px;
}
.flip-card.flipped .flip-card-inner {
    transform: rotateY(180deg);
}
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    border-radius: 24px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 2em;
    padding: 32px 24px;
    font-weight: 400;
    font-family: 'Noto Sans', Arial, sans-serif;
    box-sizing: border-box;
    word-break: break-word;
    min-height: 180px;
    backface-visibility: hidden;
    transition: background 0.3s;
}
.flip-card-front {
    color: #1e81b0;
    background: #fff;
    z-index: 2;
}
.flip-card-back {
    background: #1e81b0;
    color: #fff;
    transform: rotateY(180deg);
    z-index: 1;
}
.back-english {
    font-size: 1em;
    color: #ffe082;
    background: rgba(255,255,255,0.07);
    border-radius: 6px;
    margin-bottom: 12px;
    padding: 5px 12px;
    font-weight: 400;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    font-family: 'Noto Sans', Arial, sans-serif;
}
.back-meaning {
    font-size: 0.95em;
    color: #fff;
    margin-bottom: 0;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    font-family: 'Noto Sans', Arial, sans-serif;
    font-weight: 400;
}
#next-btn {
    padding: 12px 40px;
    font-size: 1.1em;
    border-radius: 10px;
    border: none;
    background: #1e81b0;
    color: #fff;
    cursor: pointer;
    margin-top: 36px;
    margin-bottom: 36px;
    display: block;
    font-family: 'Noto Sans', Arial, sans-serif;
    font-weight: 400;
    transition: background 0.2s;
}
#next-btn:hover {
    background: #166191;
}

@media (max-width: 700px) {
    .flip-card-outer 
        width: 94vw;
    }
    .flip-card-front, .flip-card-back {
        font-size: 1.1em;
        padding: 16px 8px;
    }
    #next-btn {
        width: 140PX;
        font-size: 1em;
        padding: 12px 0;
    }
}
@media (max-width: 400px) {
    h1 {
        font-size: 1em;
    }
    .flip-card-outer {
        width: 98vw;
    }
    .flip-card-front, .flip-card-back {
        font-size: 1em;
        padding: 8px 4px;
    }
    #next-btn {
        width: 95vw;
        font-size: 0.95em;
    }
}
