/*
==================================================
Dream Kingdom
Design System v1.0
Components
==================================================
*/

/*==================================================
KINGDOM STATUS
==================================================*/

.dk-status{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:16px;

    margin:24px 0;

}

.dk-status-item{

    text-decoration:none;

    color:inherit;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.10);

    border-radius:20px;

    padding:18px;

    text-align:center;

    transition:all .25s ease;

    backdrop-filter:blur(12px);

}

.dk-status-item:hover{

    transform:translateY(-4px);

    box-shadow:0 12px 24px rgba(0,0,0,.18);

}

.dk-status-icon{

    font-size:28px;

    margin-bottom:8px;

}

.dk-status-value{

    font-size:24px;

    font-weight:700;

    color:var(--dk-gold,#FFD54F);

}

.dk-status-label{

    margin-top:6px;

    font-size:13px;

    opacity:.8;

}

@media (max-width:768px){

    .dk-status{

        grid-template-columns:repeat(2,1fr);

    }

}


/*=================================================
= CARD
=================================================*/

.dk-card{

    background:var(--dk-card-bg);

    backdrop-filter:
    blur(var(--dk-glass-blur));

    border:
    var(--dk-border-width)
    solid
    var(--dk-card-border);

    border-radius:
    var(--dk-radius-lg);

    box-shadow:
    var(--dk-shadow-md);

    padding:
    var(--dk-space-5);

    transition:
    var(--dk-transition);

}

.continue-header{

    margin-bottom:20px;

}

.continue-meta{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin:18px 0;

    flex-wrap:wrap;

    gap:12px;

}

.reward-strip{

    display:flex;

    justify-content:space-between;

    margin:20px 0;

    padding:18px;

    background:rgba(255,255,255,.06);

    border-radius:16px;

}

.reward-strip strong{

    display:block;

    font-size:22px;

}

.empty-state{

    text-align:center;

    padding:25px 10px;

}

/*=================================================
= PANEL
=================================================*/

.dk-panel{

    background:rgba(255,255,255,.08);

    border-radius:var(--dk-radius-md);

    padding:20px;

}

.dk-card:hover{

    transform:
    translateY(-3px);

    box-shadow:
    var(--dk-shadow-lg);

}


/*=================================================
= BUTTON
=================================================*/

.dk-btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    border:none;

    outline:none;

    cursor:pointer;

    text-decoration:none;

    font-family:inherit;

    font-size:var(--dk-font-size-md);

    font-weight:var(--dk-font-bold);

    border-radius:var(--dk-radius-md);

    padding:14px 28px;

    transition:var(--dk-transition);

}

.dk-btn:hover{

    transform:translateY(-2px);

}

.dk-btn:disabled{

    opacity:.6;

    cursor:not-allowed;

}


/*=================================================
= BUTTON COLORS
=================================================*/

.dk-btn-primary{

    background:var(--dk-primary);

    color:#fff;

}

.dk-btn-primary:hover{

    background:var(--dk-primary-dark);

}

.dk-btn-success{

    background:var(--dk-success);

    color:#fff;

}

.dk-btn-danger{

    background:var(--dk-danger);

    color:#fff;

}

.dk-btn-warning{

    background:var(--dk-warning);

    color:#fff;

}

.dk-btn-gold{

    background:
    linear-gradient(
        90deg,
        #FFD54F,
        #FFC107
    );

    color:#222;

}


/*=================================================
= INPUT
=================================================*/

.dk-input{

    width:100%;

    padding:15px 18px;

    border-radius:
    var(--dk-radius-md);

    border:
    1px solid rgba(0,0,0,.08);

    background:#fff;

    font-size:
    var(--dk-font-size-md);

    transition:
    var(--dk-transition);

}

.dk-input:focus{

    outline:none;

    border-color:var(--dk-primary);

    box-shadow:
    0 0 0 4px rgba(109,93,252,.15);

}


/*=================================================
= ALERT
=================================================*/

.dk-alert{

    padding:18px;

    margin-bottom:20px;

    border-left:6px solid transparent;

    border-radius:var(--dk-radius-md);

}

.dk-alert h3{

    margin-bottom:8px;

}

.dk-alert p{

    margin:0;

}

.dk-alert-success{

    background:#E8F8EE;

    border-left-color:var(--dk-success);

    color:#1D6B39;

}

.dk-alert-error{

    background:#FDECEC;

    border-left-color:var(--dk-danger);

    color:#B42318;

}

.dk-alert-warning{

    background:#FFF7E6;

    border-left-color:var(--dk-warning);

    color:#9A6700;

}

.dk-alert-info{

    background:#EEF6FF;

    border-left-color:var(--dk-info);

    color:#1D4ED8;

}
/*=================================================
= BADGE
=================================================*/

.dk-badge{

    display:inline-flex;

    align-items:center;

    gap:6px;

    padding:6px 12px;

    border-radius:var(--dk-radius-round);

    font-size:var(--dk-font-size-sm);

    font-weight:var(--dk-font-bold);

}

.dk-badge-primary{

    background:rgba(109,93,252,.15);

    color:var(--dk-primary);

}

.dk-badge-success{

    background:rgba(52,199,89,.15);

    color:var(--dk-success);

}

.dk-badge-warning{

    background:rgba(255,152,0,.15);

    color:var(--dk-warning);

}

.dk-badge-danger{

    background:rgba(255,107,107,.15);

    color:var(--dk-danger);

}


/*=================================================
= PROGRESS BAR
=================================================*/

.dk-progress{

    width:100%;

    height:12px;

    background:rgba(0,0,0,.08);

    border-radius:999px;

    overflow:hidden;

}

.dk-progress-fill{

    height:100%;

    background:
    linear-gradient(
        90deg,
        var(--dk-primary),
        var(--dk-primary-light)
    );

    transition:width .4s ease;

}


/*=================================================
= AVATAR
=================================================*/

.dk-avatar{

    width:72px;

    height:72px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:36px;

    background:
    linear-gradient(
        135deg,
        var(--dk-primary),
        var(--dk-primary-light)
    );

    color:#fff;

    box-shadow:var(--dk-shadow-md);

}


/*=================================================
= DIVIDER
=================================================*/

.dk-divider{

    width:100%;

    height:1px;

    background:rgba(0,0,0,.08);

    margin:20px 0;

}


/*=================================================
= TAG
=================================================*/

.dk-tag{

    display:inline-block;

    padding:4px 12px;

    border-radius:999px;

    background:rgba(109,93,252,.10);

    color:var(--dk-primary);

    font-size:13px;

    font-weight:600;

}


/*=================================================
= SPINNER
=================================================*/

.dk-spinner{

    width:40px;

    height:40px;

    border:4px solid rgba(0,0,0,.10);

    border-top-color:var(--dk-primary);

    border-radius:50%;

    animation:dk-spin 1s linear infinite;

}

@keyframes dk-spin{

    to{

        transform:rotate(360deg);

    }

}