body {
    font-family: Arial, sans-serif;
    background: #f2f2f2;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

#app {
    background: #ffffff;
    padding: 30px;
    width: 420px;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);

    display: flex;
    flex-direction: column;
    align-items: center;   /* ⬅️ KLUCZOWE */
}

input {
    width: 100%;
    max-width: 360px;      /* ⬅️ optyczne centrowanie */
    padding: 15px;
    font-size: 20px;
    text-align: center;
    margin-top: 15px;
    box-sizing: border-box;
}

#komunikat {
    margin-top: 20px;
    padding: 20px;
    font-size: 18px;
    border-radius: 8px;
    color: #fff;
}

.hidden {
    display: none !important;
}

.success {
    background: #2ecc71;
}

.warning {
    background: #f39c12;
}

.error {
    background: #e74c3c;
}

/* popup */
#popup {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .6);
    display: flex;
    align-items: center;
    justify-content: center;
}

.popup-box {
    background: #fff;
    padding: 30px;
    text-align: center;
    border-radius: 10px;
}

.popup-box button {
    padding: 10px 25px;
    margin: 10px;
    font-size: 18px;
}
.pause_end {
    background: #9b59b6;
    /* fiolet */
}
/* ===== ANIMACJA TŁA PO ODBICIU ===== */

@keyframes flashGreen {
    0%   { background-color: #eafaf1; }
    50%  { background-color: #2ecc71; }
    100% { background-color: #f2f2f2; }
}

@keyframes flashOrange {
    0%   { background-color: #fff3e0; }
    50%  { background-color: #f39c12; }
    100% { background-color: #f2f2f2; }
}

@keyframes flashPurple {
    0%   { background-color: #f5eef8; }
    50%  { background-color: #9b59b6; }
    100% { background-color: #f2f2f2; }
}

@keyframes flashRed {
    0%   { background-color: #fdecea; }
    50%  { background-color: #e74c3c; }
    100% { background-color: #f2f2f2; }
}

/* klasy uruchamiające animację */
.flash-success { animation: flashGreen 0.9s ease; }
.flash-warning { animation: flashOrange 0.9s ease; }
.flash-pause   { animation: flashPurple 0.9s ease; }
.flash-error   { animation: flashRed 0.9s ease; }
