:root{
    --red:#d60000;
    --light-red:#ff6b6b;
    --white:#ffffff;
    --gray:#e0e0e0;
    --dark:#0b0b0b;
    --panel:#181818;
}

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

body{
    background:var(--dark);
    color:var(--white);
    font-family:'Segoe UI',sans-serif;
}

/* HEADER */

header{
    background:#141414;
    border-bottom:3px solid var(--red);
    padding:20px;
    text-align:center;
}

.logo{
    font-size:2rem;
    font-weight:bold;
    color:var(--red);
}

/* NAVIGATION */

.navbar{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;

    background:var(--panel);

    padding:15px;

    border-bottom:2px solid var(--red);
}

.navbar a{
    color:white;
    text-decoration:none;

    padding:10px 20px;

    border-radius:8px;

    transition:.3s;
}

.navbar a:visited{
    color:white;
}

.navbar a:hover{
    background:var(--red);
    color:white;
}

.navbar a.active{
    background:var(--red);
    color:white;
}

    transition:.3s;
}

.navbar a:hover{
    background:var(--red);
}

.navbar a.active{
    background:var(--red);
}

/* ALLGEMEIN */

.container{
    width:95%;
    max-width:1400px;
    margin:auto;
    padding:25px;
}

a{
    color:var(--light-red);
    text-decoration:none;
}

a:hover{
    color:var(--white);
}

/* HERO */

.hero{
    text-align:center;
    margin-top:20px;
}

.hero h1{
    margin-bottom:15px;
}

.hero p{
    color:var(--gray);
    font-size:1.1rem;
}

/* LOGIN BUTTON */

.login-btn{
    display:inline-block;

    background:#9146FF;

    color:white;

    padding:15px 25px;

    border-radius:10px;

    font-weight:bold;

    text-decoration:none;
}

.login-btn:hover{
    opacity:.9;
}

/* QUICK LINKS */

.quick-links{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
}

.quick-links a{
    background:var(--panel);

    color:white;

    padding:15px 25px;

    border-radius:10px;

    border-left:4px solid var(--red);

    transition:.3s;
}

.quick-links a:hover{
    background:#222;
    transform:translateY(-2px);
}

/* FORMULARE */

form{
    text-align:center;
}

input[type="text"]{
    padding:12px;

    width:300px;
    max-width:100%;

    border:none;

    border-radius:8px;
}

button{
    padding:12px 20px;

    background:var(--red);

    border:none;

    color:white;

    border-radius:8px;

    cursor:pointer;
}

/* KARTEN GRID */

.card-grid{
    display:grid;

    grid-template-columns:
    repeat(auto-fill,minmax(250px,1fr));

    gap:25px;
}

.card-link{
    text-decoration:none;
    color:white;
}

.card{
    position:relative;

    background:var(--panel);

    border-radius:12px;

    overflow:hidden;

    transition:.3s;
}

.card img{
    width:100%;
    display:block;
}

.card:hover{
    transform:scale(1.03);
}

/* GESAMMELTE KARTE */

.card.unlocked{
    border:2px solid var(--red);

    box-shadow:
    0 0 15px rgba(214,0,0,.7);
}

/* GESPERRTE KARTE */

.card.locked{
    filter:grayscale(100%);
    opacity:.35;
}

.card.locked::after{
    content:"🔒";

    position:absolute;

    top:10px;
    right:10px;

    font-size:2rem;
}

/* KARTENTEXTE */

.card-title{
    padding-top:15px;

    text-align:center;

    font-weight:bold;

    font-size:1.1rem;
}

.card-subtitle{
    text-align:center;

    color:var(--gray);

    padding-bottom:15px;
}

/* PROGRESSBAR */

.progress{
    width:100%;

    height:30px;

    background:#222;

    border-radius:30px;

    overflow:hidden;
}

.progress-bar{
    height:100%;

    background:var(--red);
}

.progress-text{
    text-align:center;

    margin-top:10px;

    font-size:1.2rem;

    font-weight:bold;
}

/* DETAILSEITE */

.card-detail{
    display:grid;

    grid-template-columns:400px 1fr;

    gap:40px;
}

.card-image img{
    width:100%;

    border-radius:15px;

    border:2px solid var(--red);

    box-shadow:
    0 0 20px rgba(214,0,0,.5);
}

.card-info h1{
    margin-bottom:5px;
}

.card-info h2{
    color:var(--light-red);

    margin-bottom:20px;
}

.rarity{
    font-size:1.3rem;

    font-weight:bold;
}

.stats-box{
    background:var(--panel);

    border-left:4px solid var(--red);

    padding:20px;

    border-radius:10px;
}

/* BESITZER */

.owner-row{
    background:var(--panel);

    padding:12px;

    margin-bottom:10px;

    border-radius:8px;
}

.owner-row:hover{
    background:#222;
}

.owner-row a{
    color:white;
    font-weight:bold;
}

.owner-row a:hover{
    color:var(--light-red);
}
    color:white;
}

/* TOPLISTE */

.leaderboard-row{
    display:flex;

    justify-content:space-between;

    align-items:center;

    background:var(--panel);

    border-left:4px solid var(--red);

    padding:15px;

    margin-bottom:10px;

    border-radius:8px;
}

.leaderboard-row:hover{
    background:#222;
}

.leaderboard-row a{
    color:white;
    font-weight:bold;
}

.leaderboard-row a:hover{
    color:var(--light-red);
}

    font-weight:bold;
}

.leaderboard-row a:hover{
    color:white;
}

/* STATISTIKEN */

.stats-grid{
    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(280px,1fr));

    gap:25px;
}

.stats-card{
    background:var(--panel);

    border-left:4px solid var(--red);

    padding:25px;

    border-radius:12px;

    text-align:center;

    transition:.3s;
}

.stats-card:hover{
    transform:translateY(-3px);

    box-shadow:
    0 0 15px rgba(214,0,0,.4);
}

.stats-card h2{
    margin-bottom:15px;
}

.stats-card p{
    font-size:1.3rem;

    font-weight:bold;
}

/* MOBILE */

@media(max-width:768px)
{
    .navbar{
        gap:10px;
    }

    .navbar a{
        flex:1 1 40%;
        text-align:center;
    }

    .card-detail{
        grid-template-columns:1fr;
    }

    .card-image{
        max-width:400px;
        margin:auto;
    }
}