/* ==========================================================
   ScorePad
   Main Stylesheet
   ========================================================== */

:root {

    --bg: #121417;
    --card: #1d2127;
    --card-hover: #252a31;

    --primary: #33c3b3;
    --primary-dark: #27a496;

    --danger: #d9534f;
    --success: #3fb950;
    --warning: #f0ad4e;

    --text: #f5f5f5;
    --text-light: #b7bcc4;

    --border: #31363d;

    --radius: 16px;

    --shadow:
        0 8px 30px rgba(0,0,0,.35);

}

/* ========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/* ========================================================== */

body{

    font-family: "Inter", sans-serif;

    background: var(--bg);

    color: var(--text);

    line-height:1.5;

    padding:30px;

}

/* ========================================================== */

main{

    max-width:900px;

    margin:auto;

}

/* ========================================================== */

.app-header{

    text-align:center;

    margin-bottom:35px;

}

.app-header h1{

    font-size:3rem;

    font-weight:700;

}

.app-header p{

    color:var(--text-light);

    margin-top:8px;

}

/* ========================================================== */

.card{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:30px;

    box-shadow:var(--shadow);

    margin-bottom:25px;

}

/* ========================================================== */

h2{

    margin-bottom:20px;

}

h3{

    margin:25px 0 15px;

}

/* ========================================================== */

label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}

/* ========================================================== */

input,
select{

    width:100%;

    padding:14px;

    margin-bottom:15px;

    border-radius:12px;

    border:1px solid var(--border);

    background:#2b3138;

    color:white;

    font-size:1rem;

}

/* ========================================================== */

input:focus,
select:focus{

    outline:none;

    border-color:var(--primary);

}

/* ========================================================== */

button{

    width:100%;

    border:none;

    border-radius:14px;

    padding:16px;

    cursor:pointer;

    font-size:1rem;

    font-weight:600;

    transition:.2s;

    margin-top:10px;

}

/* ========================================================== */

button:hover{

    transform:translateY(-2px);

}

/* ========================================================== */

.primary{

    background:var(--primary);

    color:#000;

}

.primary:hover{

    background:var(--primary-dark);

}

/* ========================================================== */

button:not(.primary){

    background:#303640;

    color:white;

}

button:not(.primary):hover{

    background:#3a424d;

}

/* ========================================================== */

.hidden{

    display:none;

}

/* ========================================================== */

.game-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:25px;

}

/* ========================================================== */

#scoreboard{

    display:grid;

    gap:18px;

}

/* ========================================================== */

.player-card{

    background:var(--card);

    border:1px solid var(--border);

    border-radius:16px;

    padding:20px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    transition:.2s;

}

.player-card:hover{

    background:var(--card-hover);

}

/* ========================================================== */

.player-info h3{

    margin:0;

    font-size:1.2rem;

}

.total{

    color:var(--primary);

    font-size:2rem;

    font-weight:700;

}

/* ========================================================== */

.score-input{

    width:110px;

    text-align:center;

    font-size:1.2rem;

    margin:0;

}

/* ========================================================== */

.game-buttons{

    display:grid;

    gap:15px;

    margin-top:30px;

}

/* ========================================================== */

#history-list{

    display:grid;

    gap:15px;

}

/* ========================================================== */

.history-card{

    background:#262c34;

    border-radius:12px;

    padding:18px;

}

/* ========================================================== */

footer{

    margin-top:50px;

    text-align:center;

    color:var(--text-light);

    font-size:.9rem;

}

/* ========================================================== */
/* Tablet */
/* ========================================================== */

@media (min-width:700px){

    .game-buttons{

        grid-template-columns:repeat(3,1fr);

    }

}

/* ========================================================== */
/* Desktop */
/* ========================================================== */

@media (min-width:900px){

    body{

        padding:45px;

    }

    .app-header h1{

        font-size:3.4rem;

    }

}

/* ========================================================== */
/* Mobile */
/* ========================================================== */

@media (max-width:650px){

    body{

        padding:15px;

    }

    .card{

        padding:20px;

    }

    .game-header{

        flex-direction:column;

        align-items:flex-start;

        gap:10px;

    }

    .player-card{

        flex-direction:column;

        align-items:flex-start;

        gap:15px;

    }

    .score-input{

        width:100%;

    }

}