@font-face {
    font-family: 'PixelSuperHudPX';
    src: url('./fonts/PixelSuperHudPX.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'NSMBWii';
    src: url('./fonts/Mario-Classic.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'NSMB2';
    src: url('./fonts/Modern-Mario.otf') format('opentype');
    font-display: swap;
}

/* Default: DS */
body, .ds-timer {
    font-family: 'PixelSuperHudPX', monospace, Arial, sans-serif;
}

/* NSMBWii */
.wii-timer {
    font-family: 'NSMBWii', 'PixelSuperHudPX', monospace, Arial, sans-serif;
}

/* NSMB2 */
.nsmb2-timer {
    font-family: 'NSMB2', 'PixelSuperHudPX', monospace, Arial, sans-serif;
}

body {
    color: #fff;
    min-height: 100vh;
    min-width: 100vw;
    margin: 0;
    overflow-x: hidden;
    background: linear-gradient(to bottom, #7ecefa 0%, #1e6ad9 60%, #1664b1 100%);
}
.main-center {
    min-height: 100vh;
    min-width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.timer {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* --- CLEAN NSMB OUTLINE --- */
#timerLabel, #display, #timerInput, .monochar {
    color: #fff;
    font-family: inherit;
    -webkit-text-stroke: 5px #000;
    text-stroke: 5px #000;
    text-shadow:
        -3px -3px 0 #000,
         3px -3px 0 #000,
        -3px  3px 0 #000,
         3px  3px 0 #000,
         0px -3px 0 #000,
         0px  3px 0 #000,
        -3px  0px 0 #000,
         3px  0px 0 #000;
    letter-spacing: 0.05em;
}

#timerLabel {
    font-size: 5vw;
    margin-bottom: 0.6em;
    margin-top: 0;
    text-align: center;
}

#display, #timerInput {
    font-size: 10vw;
    margin: 0;
    text-align: center;
    background: none;
    border: none;
    font-weight: bold;
    outline: none;
    width: 7.8em;
    padding: 0;
    letter-spacing: 0.05em;
    font-family: inherit;
    color: #fff;
}
#display {
    word-spacing: 0;
    display: flex;
    justify-content: center;
    gap: 0em;
}

.monochar {
    display: inline-block;
    width: 0.75em;
    min-width: 0.75em;
    max-width: 0.75em;
    text-align: center;
}

.timer-controls {
    display: flex;
    gap: 1.5em;
    margin-top: 1.2em;
}
.timer-controls button {
    font-size: 1em;
    padding: 0.13em 0.6em;
    border-radius: 0.2em;
    border: none;
    background: #888;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s;
    font-family: inherit;
}
.timer-controls button:hover {
    background: #aaf;
    color: #000;
}