:root {

    --bg: #09090f;

    --panel: #151522;

    --panel2: #1d1b32;

    --text: #f5f5ff;

    --muted: #9c9bb3;

    --indigo: #6366f1;

    --magenta: #d946ef;

    --lime: #a3e635;

}


* {
    box-sizing: border-box;
}


body {

    margin: 0;

    min-height: 100vh;

    font-family:
        Inter,
        system-ui,
        sans-serif;

    background: var(--bg);

    color: var(--text);

    padding: 40px;

    overflow-x: hidden;

}



.background {

    position: fixed;

    inset: 0;

    z-index: -1;

    background:

        linear-gradient(135deg,
            rgba(99, 102, 241, .18),
            transparent 40%),

        linear-gradient(315deg,
            rgba(217, 70, 239, .15),
            transparent 40%);



}


.background:after {

    content: "";

    position: absolute;

    inset: 0;

    background-image:

        linear-gradient(45deg,
            rgba(255, 255, 255, .03) 1px,
            transparent 1px),

        linear-gradient(-45deg,
            rgba(255, 255, 255, .03) 1px,
            transparent 1px);

    background-size:
        80px 80px;

}



.container {

    max-width: 1200px;

    margin: auto;

}



h1 {

    font-size: 42px;

    margin-bottom: 5px;

}



header p {

    color: var(--muted);

}



.search input {

    width: 100%;

    margin: 30px 0;

    padding: 18px;

    border-radius: 16px;

    border: none;

    background: var(--panel);

    color: white;

    font-size: 18px;

    outline: none;

    box-shadow:
        0 0 30px rgba(99, 102, 241, .2);

}



section {

    margin-bottom: 40px;

}



h2 {

    font-size: 22px;

}



.grid {

    display: grid;

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

    gap: 18px;

}



.card {

    display: flex;

    gap: 15px;

    align-items: center;

    padding: 20px;

    background:

        linear-gradient(145deg,
            var(--panel),
            var(--panel2));


    border-radius: 18px;

    text-decoration: none;

    color: var(--text);

    border:
        1px solid rgba(255, 255, 255, .05);


    transition: .25s;

}



.card:hover {

    transform:
        translateY(-5px);

    border-color: var(--indigo);

    box-shadow:

        0 10px 30px rgba(99, 102, 241, .25);

}



.icon {

    font-size: 28px;

}



.title {

    font-weight: 700;

}



.description {

    font-size: 14px;

    color: var(--muted);

    margin-top: 4px;

}