:root{

    --bg:#0b0d10;
    --bg2:#15181d;
    --card:#1d2128;
    --cardHover:#252b35;

    --text:#f5f5f5;
    --sub:#b7bcc7;

    --green:#3fd47b;
    --blue:#4ca8ff;
    --yellow:#ffc84d;
    --red:#ff5b5b;

    --border:rgba(255,255,255,.08);

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

}

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

body{

    background:
        radial-gradient(circle at top,#182130,#0b0d10 45%);
    color:var(--text);

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

    min-height:100vh;

}

a{
    color:inherit;
    text-decoration:none;
}

img{
    max-width:100%;
}

main{

    width:min(1300px,92%);
    margin:auto;

}

/* =========================
        HERO
========================= */

header{

    padding:70px 20px 60px;

    text-align:center;

}

.hero h1{

    font-size:72px;
    font-weight:800;

    letter-spacing:3px;

}

.subtitle{

    font-size:24px;
    color:var(--green);

    margin-top:8px;

    font-weight:600;

}

.description{

    max-width:760px;

    margin:25px auto 0;

    color:var(--sub);

    line-height:1.7;

    font-size:18px;

}

/* =========================
        CONTROLS
========================= */

.controls{

    display:flex;

    gap:18px;

    justify-content:center;

    flex-wrap:wrap;

    margin-bottom:50px;

}

.controls input,
.controls select{

    background:var(--card);

    color:white;

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

    border-radius:14px;

    padding:15px 18px;

    font-size:16px;

    outline:none;

    transition:.25s;

}

.controls input{

    width:400px;

    max-width:90vw;

}

.controls input:focus,
.controls select:focus{

    border-color:var(--green);

    box-shadow:0 0 0 4px rgba(63,212,123,.15);

}

/* =========================
        SECTION TITLES
========================= */

section{

    margin-bottom:70px;

}

section h2{

    font-size:34px;

    margin-bottom:25px;

}

/* =========================
        GRID
========================= */

.server-grid,
.featured-grid{

    display:grid;

    grid-template-columns:

        repeat(auto-fit,minmax(320px,1fr));

    gap:28px;

}

/* =========================
        CARD
========================= */

.server-card{

    background:

        linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.02));

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

    border-radius:20px;

    overflow:hidden;

    transition:.3s;

    box-shadow:var(--shadow);

    backdrop-filter:blur(12px);

}

.server-card:hover{

    transform:translateY(-8px);

    background:var(--cardHover);

}

.server-banner{

    height:180px;

    background:#2d323b;

    overflow:hidden;

}

.server-banner img{

    width:100%;
    height:100%;

    object-fit:cover;

}

.server-content{

    padding:22px;

}

.server-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

}

.server-name{

    font-size:28px;

    font-weight:700;

}

.score{

    font-size:28px;

    font-weight:800;

}

.score.green{

    color:var(--green);

}

.score.blue{

    color:var(--blue);

}

.score.yellow{

    color:var(--yellow);

}

.score.red{

    color:var(--red);

}

.tagline{

    color:var(--sub);

    line-height:1.6;

    margin-bottom:20px;

}

/* =========================
        TAGS
========================= */

.tags{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-bottom:22px;

}

.tag{

    background:#2d3440;

    padding:7px 14px;

    border-radius:50px;

    font-size:13px;

    color:#d5d8df;

}

/* =========================
        BUTTON
========================= */

.review-button{

    display:inline-block;

    background:var(--green);

    color:black;

    padding:13px 22px;

    border-radius:12px;

    font-weight:700;

    transition:.25s;

}

.review-button:hover{

    transform:scale(1.05);

}

/* =========================
        FEATURED
========================= */

.featured .server-card{

    border:2px solid rgba(255,200,77,.35);

}

/* =========================
        FOOTER
========================= */

footer{

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

    margin-top:80px;

    padding:40px 20px;

    text-align:center;

    color:var(--sub);

}

.footer-content h3{

    color:white;

    margin-bottom:12px;

    font-size:26px;

}

.footer-small{

    margin-top:12px;

    font-size:14px;

}

/* =========================
        SCROLLBAR
========================= */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#111;

}

::-webkit-scrollbar-thumb{

    background:#3d4653;

    border-radius:100px;

}

::-webkit-scrollbar-thumb:hover{

    background:#5d6b7d;

}

/* =========================
        ANIMATIONS
========================= */

.server-card{

    animation:fadeUp .5s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(25px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* =========================
        MOBILE
========================= */

@media(max-width:700px){

.hero h1{

    font-size:48px;

}

.subtitle{

    font-size:20px;

}

.description{

    font-size:16px;

}

.server-name{

    font-size:22px;

}

.score{

    font-size:22px;

}

.controls{

    flex-direction:column;

    align-items:center;

}

.controls input{

    width:100%;

}

.controls select{

    width:100%;

}

}

.review-layout{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:40px;

    margin-bottom:60px;

}

.review-sidebar{

    background:var(--card);

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

    border-radius:20px;

    padding:20px;

    box-shadow:var(--shadow);

    height:fit-content;

}

.review-banner{

    width:100%;

    border-radius:14px;

    margin-bottom:20px;

}

#overallScore{

    font-size:52px;

    color:var(--green);

    text-align:center;

    margin-bottom:10px;

}

#serverIP{

    text-align:center;

    color:var(--sub);

    margin-bottom:25px;

    word-break:break-word;

}

.rating-box{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.rating-box div{

    display:flex;

    justify-content:space-between;

    padding:12px 16px;

    background:rgba(255,255,255,.04);

    border-radius:10px;

}

.review-main{

    background:var(--card);

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

    border-radius:20px;

    padding:35px;

    box-shadow:var(--shadow);

}

.review-main h2{

    margin-bottom:12px;

}

.review-main p{

    color:var(--sub);

    line-height:1.8;

}

.review-main ul{

    margin-left:22px;

    color:var(--sub);

    line-height:2;

}

.review-main li::marker{

    color:var(--green);

}

@media(max-width:900px){

    .review-layout{

        grid-template-columns:1fr;

    }

}
