@import url('https://fonts.googleapis.com/css2?family=Orbitron&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch&display=swap');


body {
    margin: 0; padding: 0;
    background: #f0f6ff;
    height: 100vh;
    font-family: 'Chakra Petch', Tahoma, Geneva, Verdana, sans-serif;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
h1 {
    margin: 0;
    padding: 1rem 0;
    text-align: center;

}

.app {
    background: white;
    width: 95vw;
    border-radius: 1rem;
    box-shadow: 0 12px 40px rgba(0,0,0,0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.timer {
    font-family: 'Orbitron', monospace;
    font-size: 52px;
    color: #26487a;
    user-select: none;
}
.mouth-svg {
    width: 100%;
    height: auto;
    max-width: 380px;
    user-select: none;
}
/* Bölge arka planları */
.region-bg {
    fill: #d7e1fc;
    stroke: #a1b1db;
    stroke-width: 2;
    transition: fill 0.3s ease;
}
.region-bg.active {
    fill: #4a90e2;
    filter: drop-shadow(0 0 10px rgba(74,144,226,0.6));
}
.region-bg.done {
    fill: #4caf50;
    filter: drop-shadow(0 0 10px rgba(76,175,80,0.6));
}
/* Dişler */
.tooth {
    fill: white;
    stroke: #7f8dbf;
    stroke-width: 1.4;
    transition: fill 0.3s ease, filter 0.3s ease;
    cursor: default;
}
.tooth.surface-dis {
    fill: #a4c6ff;
}
.tooth.surface-ic {
    fill: #7ea9ff;
}
.tooth.surface-cig {
    fill: #3b6de6;
}
.tooth.done {
    fill: #4caf50;
    filter: none !important;
}
/* Bilgi kutusu */
.info-box {
    background: #e7f0ff;
    border-radius: 14px;
    padding: 12px 18px;
    width: 100%;
    max-width: 360px;
    box-shadow: 0 8px 18px rgba(74,144,226,0.15);
    color: #1a2a4f;
    text-align: center;
    user-select: none;
    display: flex;
    flex-direction:column;
    align-items: center;
    justify-content: center;
    min-height: 60px;
}
.info-box .region-name {
    font-weight: 700;
    font-size: 1.4rem;
}
.info-box .surface-name {
    font-weight: 500;
    font-size: 1rem;
    margin-top: 4px;
    color: #3b6de6;
}
/* Kontroller */
.controls {
    width: 100%;
    max-width: 360px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-items: center;
}
button {
    border: none;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    color: white;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    transition: transform 0.1s ease;
}
button:active {
    transform: scale(0.95);
}
#playPauseBtn {
    width: 6rem;
    height: 6rem;
    background: #4a90e2;
    grid-column: 2;
}
#resetBtn {
    width: 2rem;
    height: 2rem;
    font-size: 1.25rem;
    background: #e94e4e;
    grid-column: 3;
    justify-self: flex-start;
    align-self: center;
}