:root{
    --hero-primary:#0ea5e9;
    --hero-secondary:#22c55e;
}

/* Background */
body{
    background:
        radial-gradient(circle at top right,
            rgba(14,165,233,.15),
            transparent 35%),
        radial-gradient(circle at bottom left,
            rgba(34,197,94,.12),
            transparent 35%),
        var(--bs-body-bg);

    background-attachment: fixed;
}

/* Navbar blur */
.navbar{
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);

    background: rgba(var(--bs-body-bg-rgb), .8) !important;
}

/* Hero card */
.hero-card{
    border: 1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.04),
            rgba(255,255,255,.02)
        );

    backdrop-filter: blur(12px);

    border-radius: 24px;

    box-shadow:
        0 10px 30px rgba(0,0,0,.15),
        0 30px 80px rgba(0,0,0,.25);
}

/* Title */
.display-5{
    letter-spacing:-1px;
    line-height:1.1;
}

/* Gradient text */
.hero-gradient{
    background: linear-gradient(
        135deg,
        var(--hero-primary),
        var(--hero-secondary)
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* Buttons */
.btn-primary{
    border:none;

    background:linear-gradient(
        135deg,
        var(--hero-primary),
        #0284c7
    );

    box-shadow:
        0 10px 25px rgba(14,165,233,.35);

    transition:.25s;
}

.btn-primary:hover{
    transform:translateY(-2px);

    box-shadow:
        0 18px 35px rgba(14,165,233,.45);
}

.btn-outline-secondary{
    transition:.25s;
}

.btn-outline-secondary:hover{
    transform:translateY(-2px);
}

/* Preview panel */
.preview{
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.03),
            transparent
        );

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;
}

/* Channel card */
.channel-item{
    border:1px solid rgba(255,255,255,.06);

    transition:
        transform .25s,
        box-shadow .25s,
        border-color .25s;
}

.channel-item:hover{
    transform:translateY(-4px);

    border-color:
        rgba(14,165,233,.35);

    box-shadow:
        0 15px 35px rgba(0,0,0,.18);
}

/* Avatar */
.avatar{
    position:relative;

    background:
        linear-gradient(
            135deg,
            rgba(14,165,233,.25),
            rgba(34,197,94,.25)
        );

    border:1px solid rgba(255,255,255,.1);

    overflow:hidden;
}

.avatar::before{
    content:"";

    position:absolute;
    inset:-50%;

    background:
        linear-gradient(
            45deg,
            transparent,
            rgba(255,255,255,.2),
            transparent
        );

    transform:rotate(25deg);
}

/* Badge */
.badge{
    border-radius:999px;
    padding:.25rem .9rem;
}

/* How it works card */
#other-channel .card, #how-it-works .card{
    border-radius:20px;

    border:1px solid rgba(255,255,255,.08);
}

/* Footer */
footer{
    opacity:.85;
}

/* Desktop */
@media (min-width:992px){

    .hero-card{
        overflow:hidden;
        position:relative;
    }

    .hero-card::before{
        content:"";

        position:absolute;

        width:500px;
        height:500px;

        right:-180px;
        top:-180px;

        border-radius:50%;

        background:
            radial-gradient(
                rgba(14,165,233,.12),
                transparent 70%
            );

        pointer-events:none;
    }
}
body{
    min-height:100vh;
    background:
        radial-gradient(circle at top right,#0d6efd22,transparent 40%),
        radial-gradient(circle at bottom left,#19875422,transparent 40%),
        var(--bs-body-bg);
}

.hero-card{
    border-radius:1.25rem;
    overflow:hidden;
}

.preview{
    max-height:450px;
    overflow-y:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
}

.preview::-webkit-scrollbar{
    display:none;
}

.channel-item{
    transition:.2s;
}

.channel-item:hover{
    transform:translateY(-2px);
}

.avatar{
    width:48px;
    height:48px;
    border-radius:12px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(
        135deg,
        rgba(13,110,253,.25),
        rgba(25,135,84,.25)
    );
}

.theme-toggle{
    width:3rem;
    height:1.5rem;
}

#trending a, #others a{
    text-decoration: none;
}