:root {
    --bg-top: #f7f138;
    --bg-bottom: #f7f138; /*#c3c910*/
    --edge: #848006;
    --text: #2f3b00;
}

html,
body {
    width: 100vw;
    height: 100vh;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: royalblue;
    color: white;
    font-family:
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Oxygen,
        Ubuntu,
        Cantarell,
        "Open Sans",
        "Helvetica Neue",
        sans-serif;
    font-weight: 600;
}
#toggle {
    margin: 10px;
    font-size: 14pt;
}
.btn3d {
    display: inline-block;
    padding: 0.9rem 1.4rem;
    color: var(--text);
    background: linear-gradient(180deg, var(--bg-top), var(--bg-bottom));
    border-radius: 0.75rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.08) inset,
        /* subtle inner rim */ 0 0.5rem 0 var(--edge),
        /* hard bottom edge */ 0 0.9rem 1.2rem rgba(0, 0, 0, 0.35); /* soft drop shadow */
    transform: translateY(0);
    transition:
        transform 120ms ease,
        box-shadow 120ms ease,
        filter 120ms ease;
    cursor: pointer;
    user-select: none;
    border: none;
}
.btn3d:hover {
    transform: translateY(-2px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.1) inset,
        0 0.6rem 0 var(--edge),
        0 1.05rem 1.35rem rgba(0, 0, 0, 0.4);
}
.btn3d:active {
    transform: translateY(4px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.12) inset,
        0 0.2rem 0 var(--edge),
        0 0.5rem 0.9rem rgba(0, 0, 0, 0.35);
    filter: brightness(0.98);
}
.btn3d.pressed {
    transform: translateY(4px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.12) inset,
        0 0.2rem 0 var(--edge),
        0 0.5rem 0.9rem rgba(0, 0, 0, 0.35);
    filter: brightness(0.98);
}
#buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    top: 50px;
}

.number-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 15px;
}

input[type="number"] {
    width: 40px;
    text-align: center;
    background: #f7f138;
    color: #2b2500;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 12pt;
    padding: 10px;
}
.num-btn {
    padding: 0.6rem;
    position: relative;
    bottom: 3.5px;
}
/* Chrome, Edge, Safari */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type="number"] {
    -moz-appearance: textfield;
}
