:root{
    --bg:#09090b;
    --panel:#111114;
    --panel2:#18181c;
    --panel3:#1d1d22;
    --line:#29292f;

    --text:#f7f7f8;
    --muted:#92929d;

    --red:#ff3040;
    --red-hover:#ff4553;
    --red-dark:#d91f30;
    --red-soft:rgba(255,48,64,.10);

    --lime:#ff3040;

    --gold:#f5c451;
    --gold-hover:#ffd66c;
    --gold-soft:rgba(245,196,81,.10);
    --gold-line:rgba(245,196,81,.30);

    --silver:#c8ccd4;
    --bronze:#c9875d;

    --danger:#ff3040;
}


/* =========================================================
   RESET
========================================================= */

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    min-height:100vh;

    background:
        radial-gradient(
            circle at 50% -250px,
            rgba(255,48,64,.07),
            transparent 520px
        ),
        var(--bg);

    color:var(--text);

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        "Segoe UI",
        sans-serif;
}

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

button,
input{
    font:inherit;
}

button{
    -webkit-tap-highlight-color:transparent;
}


/* =========================================================
   HEADER
========================================================= */

.site-header{
    height:72px;

    display:flex;
    align-items:center;

    gap:32px;

    padding:
        0
        max(24px,calc((100% - 1180px)/2));

    border-bottom:
        1px
        solid
        rgba(255,255,255,.07);

    position:sticky;

    top:0;

    background:
        rgba(9,9,11,.88);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    z-index:20;
}

.brand{
    display:inline-flex;
    align-items:baseline;

    font-weight:950;
    letter-spacing:-1px;

    font-size:22px;
}

.brand span{
    color:var(--red);
}

.brand small{
    font-size:11px;

    margin-left:2px;

    color:var(--muted);
}

nav{
    display:flex;

    gap:24px;

    margin-right:auto;
}

nav a{
    position:relative;

    padding:26px 0;

    font-size:14px;
    font-weight:650;

    color:var(--muted);

    transition:
        color .2s ease;
}

nav a:hover,
nav a.active{
    color:var(--text);
}

nav a.active::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:-1px;

    height:2px;

    background:var(--red);

    border-radius:
        3px
        3px
        0
        0;
}


/* =========================================================
   BOTONES
========================================================= */

.btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    gap:7px;

    min-height:40px;

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

    border-radius:10px;

    padding:
        10px
        16px;

    background:var(--panel);

    color:var(--text);

    font-weight:850;

    cursor:pointer;

    transition:
        transform .15s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.btn:hover{
    transform:translateY(-1px);

    border-color:#44444d;
}

.btn:active{
    transform:translateY(0);
}

.btn-primary{
    background:var(--red);

    color:#fff;

    border-color:var(--red);

    box-shadow:
        0
        8px
        28px
        rgba(255,48,64,.12);
}

.btn-primary:hover{
    background:var(--red-hover);

    border-color:var(--red-hover);

    box-shadow:
        0
        10px
        34px
        rgba(255,48,64,.20);
}

.btn-ghost{
    background:transparent;
}

.btn-big{
    min-height:48px;

    padding:
        14px
        20px;
}


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

.hero{
    max-width:1180px;

    margin:auto;

    padding:
        96px
        24px
        68px;
}

.hero.compact{
    padding-bottom:35px;
}

.eyebrow{
    display:flex;

    align-items:center;

    gap:7px;

    font-size:12px;
    letter-spacing:1.8px;
    font-weight:900;

    color:var(--red);

    margin-bottom:18px;
}

.hero h1{
    font-size:
        clamp(
            54px,
            8vw,
            104px
        );

    line-height:.88;

    letter-spacing:-6px;

    margin:0;

    max-width:900px;
}

.hero h1 span{
    color:var(--red);
}

.hero p{
    margin:
        26px
        0
        0;

    font-size:18px;

    color:var(--muted);

    max-width:600px;

    line-height:1.65;
}

.hero-actions{
    display:flex;

    align-items:center;

    gap:18px;

    margin-top:30px;
}

.rate{
    display:inline-flex;

    align-items:center;

    min-height:34px;

    padding:
        0
        11px;

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

    border-radius:7px;

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

    font-size:12px;
    font-weight:900;

    color:var(--muted);
}


/* =========================================================
   CONTENEDORES
========================================================= */

.container{
    max-width:1180px;

    margin:auto;

    padding:
        0
        24px;
}

.section-heading{
    display:flex;

    justify-content:space-between;
    align-items:center;

    gap:20px;

    font-size:12px;
    letter-spacing:1.5px;
    font-weight:900;

    color:var(--muted);

    margin:
        20px
        0;
}

.section-heading a{
    color:var(--red);

    transition:
        color .2s ease;
}

.section-heading a:hover{
    color:var(--red-hover);
}


/* =========================================================
   LIVE
========================================================= */

.live-dot{
    width:8px;
    height:8px;

    background:var(--red);

    display:inline-block;

    border-radius:50%;

    box-shadow:
        0
        0
        12px
        rgba(255,48,64,.55);

    margin-right:8px;

    animation:
        livePulse
        2s
        infinite;
}

@keyframes livePulse{

    0%,
    100%{
        opacity:1;
    }

    50%{
        opacity:.45;
    }

}


/* =========================================================
   TRONO
========================================================= */

.throne-section{
    position:relative;
}

.throne-section::before{
    content:"";

    position:absolute;

    left:50%;
    top:70px;

    width:500px;
    height:300px;

    transform:
        translateX(-50%);

    background:
        radial-gradient(
            circle,
            rgba(245,196,81,.07),
            transparent 68%
        );

    pointer-events:none;

    z-index:-1;
}


/* =========================================================
   PODIO
========================================================= */

.podium{
    display:grid;

    grid-template-columns:
        1fr
        1.35fr
        1fr;

    align-items:end;

    gap:14px;
}

.podium-card{
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.018),
            transparent 45%
        ),
        var(--panel);

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

    border-radius:18px;

    padding:24px;

    min-height:230px;

    position:relative;

    overflow:hidden;

    transition:
        transform .2s ease,
        border-color .2s ease;
}

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

    border-color:#404048;
}

.podium-card.second{
    border-top-color:
        rgba(200,204,212,.35);
}

.podium-card.third{
    border-top-color:
        rgba(201,135,93,.35);
}

.podium-card.first{
    min-height:315px;

    border-color:
        rgba(245,196,81,.38);

    background:
        radial-gradient(
            circle
            at
            50%
            -20%,
            rgba(245,196,81,.18),
            transparent 52%
        ),
        linear-gradient(
            180deg,
            #19170f,
            var(--panel)
        );

    box-shadow:
        0
        24px
        70px
        rgba(0,0,0,.28);
}

.podium-card.first::before{
    content:"\1F451 ";

    position:absolute;

    top:17px;
    right:20px;

    font-size:30px;

    transform:
        rotate(8deg);
}

.podium-card.first::after{
    content:"";

    position:absolute;

    left:18%;
    right:18%;
    top:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--gold),
            transparent
        );

    opacity:.8;
}

.podium-card .place{
    font-size:13px;
    font-weight:950;

    color:var(--muted);
}

.podium-card.first .place{
    color:var(--gold);
}

.podium-card.second .place{
    color:var(--silver);
}

.podium-card.third .place{
    color:var(--bronze);
}


/* =========================================================
   AVATARES
========================================================= */

.podium-card .avatar,
.rank-avatar,
.profile-avatar{
    display:grid;

    place-items:center;

    border-radius:50%;

    font-weight:950;

    background:
        linear-gradient(
            145deg,
            #222228,
            var(--panel2)
        );

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

.podium-card .avatar{
    width:66px;
    height:66px;

    font-size:22px;

    margin:
        24px
        0
        14px;
}

.podium-card.first .avatar{
    width:86px;
    height:86px;

    font-size:27px;

    border-color:
        rgba(245,196,81,.42);

    box-shadow:
        0
        0
        0
        5px
        rgba(245,196,81,.045);
}

.podium-card.second .avatar{
    border-color:
        rgba(200,204,212,.30);
}

.podium-card.third .avatar{
    border-color:
        rgba(201,135,93,.30);
}


/* =========================================================
   PODIO INFO
========================================================= */

.podium-card h2{
    margin:0;

    font-size:25px;

    letter-spacing:-.6px;
}

.podium-card.first h2{
    font-size:29px;
}

.handle{
    color:var(--muted);

    font-size:13px;

    margin-top:3px;
}

.bits{
    font-size:38px;

    font-weight:950;

    letter-spacing:-2px;

    margin-top:16px;
}

.podium-card.first .bits{
    color:var(--gold);

    font-size:46px;
}

.bits small{
    font-size:12px;

    letter-spacing:1px;

    color:var(--muted);
}

.podium-actions{
    display:flex;

    gap:8px;

    margin-top:16px;
}

.podium-actions .btn{
    flex:1;
}


/* =========================================================
   BATALLA
========================================================= */

.battle-card{
    margin-top:14px;

    padding:
        18px
        20px;

    background:
        linear-gradient(
            90deg,
            rgba(255,48,64,.025),
            transparent 45%
        ),
        var(--panel);

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

    border-radius:14px;
}

.battle-top{
    display:flex;

    justify-content:space-between;

    gap:20px;

    font-size:13px;

    font-weight:800;
}

.bar{
    height:7px;

    background:#24242a;

    border-radius:20px;

    margin:
        12px
        0;

    overflow:hidden;
}

.bar i{
    display:block;

    height:100%;

    background:
        linear-gradient(
            90deg,
            var(--red-dark),
            var(--red)
        );

    border-radius:20px;

    box-shadow:
        0
        0
        12px
        rgba(255,48,64,.25);

    transition:
        width .35s ease;
}


/* =========================================================
   RANKING + ACTIVIDAD
========================================================= */

.content-grid{
    display:grid;

    grid-template-columns:
        minmax(0,2fr)
        minmax(280px,1fr);

    gap:30px;

    margin-top:54px;
}

.ranking-list{
    border:
        1px
        solid
        var(--line);

    border-radius:14px;

    overflow:hidden;

    background:var(--panel);
}

.rank-row{
    display:grid;

    grid-template-columns:
        48px
        44px
        minmax(0,1fr)
        auto
        auto;

    gap:12px;

    align-items:center;

    padding:
        13px
        15px;

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

    transition:
        background .2s ease;
}

.rank-row:hover{
    background:
        rgba(255,255,255,.025);
}

.rank-row:last-child{
    border-bottom:0;
}

.rank-num{
    font-weight:950;

    color:var(--muted);
}

.rank-avatar{
    width:38px;
    height:38px;

    font-size:12px;

    flex:0 0 38px;
}

.rank-name{
    font-weight:850;
}

.rank-bits{
    font-weight:950;

    white-space:nowrap;
}

.activity-card{
    border:
        1px
        solid
        var(--line);

    border-radius:14px;

    padding:
        6px
        18px;

    background:var(--panel);
}

.activity-item{
    padding:
        15px
        0;

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

    font-size:14px;

    line-height:1.45;
}

.activity-item:last-child{
    border:0;
}

.activity-item time{
    display:block;

    color:var(--muted);

    font-size:11px;

    margin-top:5px;
}


/* =========================================================
   COMO FUNCIONA
========================================================= */

.how{
    padding-top:90px;
    padding-bottom:90px;
}

.how-grid{
    display:grid;

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

    gap:12px;
}

.how article{
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.018),
            transparent
        ),
        var(--panel);

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

    border-radius:14px;

    padding:24px;

    min-height:205px;

    transition:
        transform .2s ease,
        border-color .2s ease;
}

.how article:hover{
    transform:
        translateY(-3px);

    border-color:#3c3c44;
}

.how article b{
    display:inline-flex;

    color:var(--red);

    font-size:12px;
}

.how article h3{
    margin:
        38px
        0
        8px;

    font-size:18px;
}

.how article p{
    margin:0;

    color:var(--muted);

    font-size:14px;

    line-height:1.55;
}


/* =========================================================
   CTA
========================================================= */

.final-cta{
    margin-bottom:80px;
}

.final-cta .battle-card{
    padding:30px;
}

.final-cta-copy{
    color:var(--muted);

    line-height:1.6;

    max-width:650px;

    margin:
        16px
        0
        20px;
}


/* =========================================================
   PERFIL
========================================================= */

.profile-wrap{
    padding-top:25px;

    padding-bottom:70px;
}

.profile-card{
    max-width:820px;

    margin:auto;

    position:relative;

    overflow:hidden;

    background:
        radial-gradient(
            circle
            at
            100%
            0,
            rgba(255,48,64,.055),
            transparent 280px
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,.018),
            transparent
        ),
        var(--panel);

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

    border-radius:22px;

    padding:34px;

    box-shadow:
        0
        30px
        80px
        rgba(0,0,0,.16);
}

.profile-card::before{
    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,48,64,.45),
            transparent
        );
}

.profile-head{
    display:flex;

    gap:20px;

    align-items:center;
}

.profile-avatar{
    width:94px;
    height:94px;

    flex:0 0 94px;

    font-size:29px;

    border-color:
        rgba(255,48,64,.22);

    box-shadow:
        0
        0
        0
        5px
        rgba(255,48,64,.035);
}

.profile-head h1{
    margin:0;

    font-size:40px;

    letter-spacing:-2px;
}

.profile-head p{
    margin:
        8px
        0
        0;

    max-width:380px;

    line-height:1.45;
}

.profile-position{
    margin-left:auto;

    min-width:105px;

    text-align:right;
}

.profile-position b{
    display:inline-block;

    margin-top:2px;

    font-size:44px;

    letter-spacing:-2px;

    color:var(--red);
}

.profile-bits{
    font-size:
        clamp(
            52px,
            8vw,
            72px
        );

    font-weight:950;

    letter-spacing:-5px;

    line-height:1;

    margin:
        42px
        0
        8px;
}

.profile-bits small{
    font-size:13px;

    letter-spacing:1px;

    color:var(--muted);
}


/* =========================================================
   BADGE PRIMER REY
========================================================= */

.profile-king-badge{
    display:inline-flex;

    align-items:center;

    gap:6px;

    margin-top:13px;

    padding:
        6px
        9px;

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

    border-radius:7px;

    background:
        var(--gold-soft);

    color:var(--gold);

    font-size:10px;

    font-weight:950;

    letter-spacing:1px;
}


/* =========================================================
   BITS PERFIL
========================================================= */

.give-grid{
    display:grid;

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

    gap:8px;

    margin:
        20px
        0
        12px;
}

.give-grid .btn{
    min-height:48px;
}

.profile-main-action{
    width:100%;

    min-height:58px;

    margin-top:8px;

    border-radius:12px;

    font-size:15px;

    background:
        linear-gradient(
            135deg,
            #ff3040,
            #e71f31
        );

    box-shadow:
        0
        14px
        40px
        rgba(255,48,64,.18);
}

.profile-main-action:hover{
    background:
        linear-gradient(
            135deg,
            #ff4553,
            #f0283a
        );

    box-shadow:
        0
        16px
        45px
        rgba(255,48,64,.25);
}

.profile-secondary-action{
    width:100%;

    min-height:52px;

    margin-top:8px;

    background:
        rgba(255,255,255,.025);
}


/* =========================================================
   ESTADISTICAS PERFIL
========================================================= */

.profile-stats{
    display:grid;

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

    gap:8px;

    margin-top:34px;
}

.stat{
    min-height:92px;

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

    border-radius:11px;

    padding:16px;

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

    transition:
        border-color .2s ease,
        background .2s ease;
}

.stat:hover{
    border-color:#393940;

    background:
        rgba(255,255,255,.02);
}

.stat span{
    display:block;

    color:var(--muted);

    font-size:10px;

    font-weight:850;

    letter-spacing:.7px;

    margin-bottom:9px;
}

.stat b{
    font-size:19px;

    letter-spacing:-.4px;
}

.profile-info-section{
    padding-top:10px;

    padding-bottom:90px;
}

.profile-how-grid article{
    min-height:190px;
}


/* =========================================================
   HALL OF FAME
========================================================= */

.first-king-section{
    padding-top:20px;

    padding-bottom:60px;
}


/* =========================================================
   PRIMER REY
========================================================= */

.first-king-card{
    position:relative;

    display:grid;

    grid-template-columns:
        auto
        auto
        minmax(0,1fr)
        auto;

    gap:22px;

    align-items:center;

    min-height:190px;

    padding:
        32px
        34px;

    overflow:hidden;

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

    border-radius:20px;

    background:
        radial-gradient(
            circle
            at
            10%
            0,
            rgba(245,196,81,.18),
            transparent 270px
        ),
        linear-gradient(
            135deg,
            #19170f,
            #111114 62%
        );

    box-shadow:
        0
        25px
        70px
        rgba(0,0,0,.22);
}

.first-king-card::before{
    content:"";

    position:absolute;

    top:0;
    left:12%;
    right:12%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--gold),
            transparent
        );
}

.first-king-card::after{
    content:"PRIMER REY";

    position:absolute;

    right:-31px;
    bottom:24px;

    transform:
        rotate(-45deg);

    color:
        rgba(245,196,81,.035);

    font-size:35px;

    font-weight:950;

    letter-spacing:3px;

    pointer-events:none;
}

.first-king-crown{
    font-size:46px;

    line-height:1;
}

.first-king-card .profile-avatar{
    width:82px;
    height:82px;

    flex-basis:82px;

    border-color:
        rgba(245,196,81,.45);

    box-shadow:
        0
        0
        0
        5px
        rgba(245,196,81,.05);
}

.first-king-info{
    min-width:0;
}

.first-king-label{
    color:var(--gold);

    font-size:10px;

    font-weight:950;

    letter-spacing:1.4px;

    margin-bottom:6px;
}

.first-king-info h2{
    margin:0;

    font-size:32px;

    letter-spacing:-1.4px;
}

.first-king-info p{
    max-width:520px;

    margin:
        10px
        0
        0;

    color:var(--muted);

    font-size:13px;

    line-height:1.55;
}

.first-king-badge{
    position:relative;

    z-index:1;

    padding:
        9px
        12px;

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

    border-radius:8px;

    background:
        var(--gold-soft);

    color:var(--gold);

    font-size:11px;

    font-weight:950;

    letter-spacing:1px;

    white-space:nowrap;
}


/* =========================================================
   REYES DIARIOS
========================================================= */

.daily-kings-section{
    padding-bottom:70px;
}

.hof-description{
    max-width:690px;

    margin:
        -4px
        0
        22px;

    color:var(--muted);

    font-size:13px;

    line-height:1.6;
}

.daily-kings-list{
    overflow:hidden;

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

    border-radius:16px;

    background:var(--panel);
}

.daily-king-row{
    display:grid;

    grid-template-columns:
        150px
        minmax(0,1fr)
        auto
        35px;

    gap:18px;

    align-items:center;

    min-height:76px;

    padding:
        12px
        18px;

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

    transition:
        background .2s ease;
}

.daily-king-row:hover{
    background:
        rgba(245,196,81,.025);
}

.daily-king-row:last-child{
    border-bottom:0;
}

.daily-king-date{
    color:var(--muted);

    font-size:11px;

    font-weight:900;

    letter-spacing:.8px;
}

.daily-king-user{
    display:flex;

    align-items:center;

    gap:12px;

    min-width:0;
}

.daily-king-user strong{
    font-size:15px;
}

.daily-king-bits{
    color:var(--gold);

    font-size:13px;

    font-weight:950;

    white-space:nowrap;
}

.daily-king-crown{
    font-size:20px;

    text-align:center;
}


/* =========================================================
   RECORDS HALL OF FAME
========================================================= */

.hall-records-section{
    padding-bottom:70px;
}

.hof-grid{
    display:grid;

    grid-template-columns:
        1fr
        1fr;

    gap:14px;
}

.hof-card{
    background:
        linear-gradient(
            180deg,
            rgba(245,196,81,.025),
            transparent 45%
        ),
        var(--panel);

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

    border-radius:16px;

    padding:24px;
}

.hof-icon{
    font-size:28px;
}

.hof-card h2{
    font-size:18px;

    margin:
        10px
        0
        10px;
}

.hof-card .hof-description{
    min-height:42px;

    margin:
        0
        0
        18px;
}

.hof-row{
    display:grid;

    grid-template-columns:
        34px
        minmax(0,1fr)
        auto;

    gap:8px;

    align-items:center;

    padding:
        12px
        0;

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

    font-size:14px;
}

.hof-row > span{
    color:var(--muted);

    font-size:12px;

    font-weight:850;
}

.hof-row a strong{
    color:var(--text);
}

.hof-row strong:last-child{
    color:var(--gold);

    white-space:nowrap;
}

.hof-rules-section{
    padding-bottom:90px;
}


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

footer{
    border-top:
        1px
        solid
        var(--line);

    max-width:1180px;

    margin:auto;

    padding:
        34px
        24px
        50px;

    display:flex;

    gap:22px;

    align-items:center;

    color:var(--muted);

    font-size:13px;
}

footer strong{
    color:var(--text);
}

footer small{
    margin-left:auto;

    max-width:440px;

    text-align:right;

    line-height:1.45;
}


/* =========================================================
   MODAL
========================================================= */

.modal{
    position:fixed;

    inset:0;

    background:
        rgba(0,0,0,.76);

    display:none;

    place-items:center;

    padding:20px;

    z-index:50;

    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}

.modal.open{
    display:grid;
}

.modal-panel{
    width:
        min(500px,100%);

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.02),
            transparent
        ),
        var(--panel);

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

    border-radius:18px;

    padding:28px;

    position:relative;

    box-shadow:
        0
        30px
        90px
        rgba(0,0,0,.5);
}

.modal-close{
    position:absolute;

    right:18px;
    top:12px;

    background:none;

    border:0;

    color:var(--muted);

    font-size:28px;

    cursor:pointer;
}

.modal-close:hover{
    color:var(--text);
}

.modal-panel h2{
    font-size:34px;

    letter-spacing:-1px;

    margin:0;
}

.modal-panel p{
    color:var(--muted);

    line-height:1.5;
}

.modal-panel label{
    display:block;

    font-size:12px;

    font-weight:800;

    margin:
        14px
        0;
}

.modal-panel input{
    display:block;

    width:100%;

    margin-top:7px;

    background:#0c0c0f;

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

    border-radius:9px;

    padding:13px;

    color:var(--text);

    outline:0;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.modal-panel input:focus{
    border-color:
        rgba(255,48,64,.70);

    box-shadow:
        0
        0
        0
        3px
        rgba(255,48,64,.08);
}

.modal-panel form .btn{
    width:100%;

    margin-top:8px;
}

.modal-note{
    margin:
        16px
        0
        0;

    text-align:center;

    font-size:11px;

    color:var(--muted);
}


/* =========================================================
   TOAST
========================================================= */

.toast{
    position:fixed;

    right:20px;
    bottom:20px;

    max-width:
        calc(100% - 40px);

    background:var(--text);

    color:#111;

    padding:
        12px
        16px;

    border-radius:10px;

    font-weight:850;

    transform:
        translateY(100px);

    opacity:0;

    transition:.25s;

    z-index:70;

    box-shadow:
        0
        20px
        50px
        rgba(0,0,0,.35);
}

.toast.show{
    transform:
        translateY(0);

    opacity:1;
}


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

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:var(--bg);
}

::-webkit-scrollbar-thumb{
    background:#28282e;

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

    border-radius:10px;
}

::-webkit-scrollbar-thumb:hover{
    background:#34343b;
}

::selection{
    background:var(--red);

    color:#fff;
}


/* =========================================================
   TABLET / MOVIL
========================================================= */

@media(max-width:800px){

    .site-header{
        padding:
            0
            16px;

        height:64px;
    }

    .site-header nav{
        display:none;
    }

    .hero{
        padding:
            60px
            18px
            42px;
    }

    .hero.compact{
        padding-bottom:20px;
    }

    .hero h1{
        letter-spacing:-3.5px;
    }

    .hero p{
        font-size:16px;
    }

    .container{
        padding-left:16px;
        padding-right:16px;
    }

    .podium{
        grid-template-columns:1fr;

        gap:10px;
    }

    .podium-card.first{
        order:-1;

        min-height:290px;
    }

    .podium-card{
        min-height:auto;
    }

    .content-grid{
        grid-template-columns:1fr;

        gap:40px;
    }

    .how-grid,
    .hof-grid{
        grid-template-columns:1fr;
    }

    .rank-row{
        grid-template-columns:
            34px
            38px
            minmax(0,1fr)
            auto;
    }

    .rank-row .btn{
        display:none;
    }

    .hero-actions{
        align-items:flex-start;

        flex-direction:column;
    }


    /* PERFIL */

    .profile-card{
        padding:26px;
    }

    .profile-head{
        align-items:flex-start;

        flex-wrap:wrap;
    }

    .profile-position{
        margin-left:0;

        width:100%;

        text-align:left;

        padding-top:4px;
    }

    .profile-bits{
        font-size:54px;

        letter-spacing:-4px;

        margin-top:32px;
    }

    .give-grid{
        grid-template-columns:
            1fr
            1fr;
    }

    .profile-stats{
        grid-template-columns:
            1fr
            1fr;
    }


    /* PRIMER REY */

    .first-king-card{
        grid-template-columns:
            auto
            minmax(0,1fr);

        padding:26px;
    }

    .first-king-crown{
        display:none;
    }

    .first-king-badge{
        grid-column:
            1 / -1;

        justify-self:start;
    }


    /* REYES DIARIOS */

    .daily-king-row{
        grid-template-columns:
            115px
            minmax(0,1fr)
            auto;
    }

    .daily-king-crown{
        display:none;
    }


    /* FOOTER */

    footer{
        align-items:flex-start;

        flex-direction:column;
    }

    footer small{
        margin-left:0;

        text-align:left;
    }

}


/* =========================================================
   MOVILES PEQUENOS
========================================================= */

@media(max-width:480px){

    .brand{
        font-size:19px;
    }

    .site-header{
        gap:12px;
    }

    .site-header > .btn{
        margin-left:auto;

        padding:
            9px
            13px;
    }

    .hero{
        padding-top:48px;
    }

    .hero h1{
        font-size:
            clamp(
                47px,
                15vw,
                64px
            );

        letter-spacing:-3px;
    }

    .podium-card{
        padding:20px;
    }

    .podium-card.first .bits{
        font-size:41px;
    }

    .battle-top{
        flex-direction:column;

        gap:5px;
    }


    /* PERFIL */

    .profile-wrap{
        padding-top:10px;
    }

    .profile-card{
        padding:
            22px
            18px;
    }

    .profile-avatar{
        width:72px;
        height:72px;

        flex-basis:72px;

        font-size:22px;
    }

    .profile-head{
        gap:14px;
    }

    .profile-head h1{
        font-size:31px;
    }

    .profile-bits{
        font-size:46px;

        letter-spacing:-3px;
    }

    .give-grid{
        gap:6px;
    }

    .give-grid .btn{
        padding:
            10px
            8px;
    }

    .profile-main-action{
        font-size:13px;

        padding:
            13px
            10px;
    }

    .profile-secondary-action{
        font-size:12px;

        padding:
            12px
            10px;
    }

    .profile-stats{
        grid-template-columns:1fr;
    }

    .stat{
        min-height:auto;
    }


    /* PRIMER REY */

    .first-king-section{
        padding-bottom:45px;
    }

    .first-king-card{
        display:flex;

        flex-direction:column;

        align-items:flex-start;

        gap:16px;

        padding:
            24px
            20px;
    }

    .first-king-card .profile-avatar{
        width:76px;
        height:76px;

        flex-basis:76px;
    }

    .first-king-info h2{
        font-size:28px;
    }

    .first-king-badge{
        align-self:flex-start;
    }


    /* REYES DIARIOS */

    .daily-kings-section{
        padding-bottom:55px;
    }

    .daily-king-row{
        grid-template-columns:
            1fr
            auto;

        gap:
            8px
            12px;

        padding:
            15px;
    }

    .daily-king-date{
        grid-column:
            1 / -1;
    }

    .daily-king-user{
        min-width:0;
    }

    .daily-king-bits{
        font-size:12px;
    }


    /* HALL */

    .hof-card{
        padding:20px;
    }

    .hof-row{
        grid-template-columns:
            28px
            minmax(0,1fr)
            auto;

        font-size:13px;
    }

    .final-cta .battle-card{
        padding:22px;
    }

}