/* css/hunter/gloves.css */

/* =========================
   Glove Preview
========================= */

.glove-preview-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.glove-preview-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;

    min-height: 120px;
    padding: 12px 8px;
    border-radius: 16px;
    box-sizing: border-box;
    justify-content: center;
    overflow: visible;

    background: #ffffff;
    border: 1px solid #f3f4f6;
}

.glove-preview-item img {
    display: block;
    width: 82px;
    height: 82px;
    padding: 2px;
    box-sizing: border-box;

    object-fit: contain;
    object-position: center;
    image-rendering: pixelated;
}

.glove-preview-item span {
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
}

/* =========================
   Hunter Glove Collection
========================= */

.glove-collection-header {
    margin: 0 0 12px;
}

.hunter-glove-collection {
    display: grid;
    gap: 14px;
}

.glove-tier-section {
    margin: 0;
}

.glove-tier-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    margin-bottom: 12px;
}

.glove-tier-level-range {
    margin-top: 3px;

    color: #92400e;
    font-size: 12px;
    font-weight: 800;
}

.glove-tier-status {
    flex: 0 0 auto;

    padding: 4px 9px;
    border-radius: 999px;

    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.glove-tier-status.unlocked {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.glove-tier-status.locked {
    background: #f3f4f6;
    color: #6b7280;
    border: 1px solid #d1d5db;
}

.glove-tier-section.is-locked {
    opacity: .88;
}

.glove-preview-item.unlocked {
    position: relative;
}

.glove-preview-item.locked {
    position: relative;

    justify-content: center;

    min-height: 120px;

    background:
        radial-gradient(circle at center, rgba(17, 24, 39, .06), transparent 54%),
        linear-gradient(180deg, #f9fafb, #ffffff);

    border: 1px dashed #d1d5db;

    opacity: .72;
    filter: grayscale(100%);
}

.glove-preview-item.locked.missing {
    opacity: .82;
    filter: grayscale(40%);
}

.glove-lock-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 82px;
    height: 82px;

    border-radius: 16px;

    background: rgba(17, 24, 39, .06);
    border: 1px solid rgba(17, 24, 39, .08);

    font-size: 28px;
    line-height: 1;
}

.glove-preview-item.locked span {
    color: #6b7280;
}
/* Alpha layout fix: give large pixel glove assets more breathing room. */
.glove-preview-row {
    gap: 12px;
}

.glove-preview-item {
    min-height: 136px;
    padding: 16px 10px 12px;
}

.glove-preview-item img {
    width: 78px;
    height: 78px;
    padding: 5px;
}

.glove-preview-item.locked {
    min-height: 136px;
}

.glove-lock-icon {
    width: 78px;
    height: 78px;
}

/* =========================
   Rank benefits
========================= */

.hunter-rank-benefit-details,
.hunter-glove-collection-details {
    margin-bottom: 14px;
}

.hunter-rank-benefit-panel {
    padding: 14px;
}

.hunter-rank-benefit-empty {
    padding: 16px;
    border-radius: 14px;
    background: rgba(17, 24, 39, .04);
    color: #6b7280;
    font-weight: 800;
    text-align: center;
}

.hunter-rank-benefit-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;

    padding: 14px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 20% 10%, rgba(245, 158, 11, .22), transparent 34%),
        linear-gradient(135deg, #111827, #1f2937);
    border: 1px solid rgba(245, 158, 11, .35);
    color: #f9fafb;
}

.hunter-rank-benefit-badge {
    display: grid;
    place-items: center;

    width: 56px;
    height: 56px;
    border-radius: 18px;

    background: rgba(255, 255, 255, .09);
    border: 1px solid rgba(255, 255, 255, .16);
    box-shadow: inset 0 0 18px rgba(255, 255, 255, .08);

    font-size: 28px;
}

.hunter-rank-benefit-kicker {
    color: #facc15;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
}

.hunter-rank-benefit-info h3 {
    margin: 4px 0 4px;
    color: #fff7ed;
    font-size: 20px;
    font-weight: 950;
}

.hunter-rank-benefit-info p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.55;
}

.hunter-rank-benefit-progress {
    display: grid;
    gap: 4px;
    justify-items: end;

    min-width: 88px;
    padding: 10px 12px;
    border-radius: 14px;

    background: rgba(0, 0, 0, .22);
    border: 1px solid rgba(250, 204, 21, .26);
}

.hunter-rank-benefit-progress span {
    color: rgba(255, 255, 255, .6);
    font-size: 11px;
    font-weight: 900;
}

.hunter-rank-benefit-progress strong {
    color: #fde68a;
    font-size: 18px;
    font-weight: 950;
}

.hunter-rank-benefit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.hunter-rank-benefit-chip,
.hunter-rank-benefit-next {
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .86);
    border: 1px solid rgba(245, 158, 11, .28);
}

.hunter-rank-benefit-chip span,
.hunter-rank-benefit-next span {
    display: block;
    margin-bottom: 5px;
    color: #92400e;
    font-size: 12px;
    font-weight: 950;
}

.hunter-rank-benefit-chip strong,
.hunter-rank-benefit-next strong {
    display: block;
    color: #111827;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.45;
}

.hunter-rank-benefit-chip em {
    display: block;
    margin-top: 4px;
    color: #6b7280;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
}

.hunter-rank-benefit-chip.is-active {
    background: #fffbeb;
    border-color: rgba(245, 158, 11, .55);
}

.hunter-rank-benefit-next {
    margin-top: 10px;
    background: rgba(17, 24, 39, .03);
}

/* =========================
   Rank catalog / material unlock summary
========================= */

.hunter-rank-catalog-details {
    margin-bottom: 14px;
}

.hunter-rank-catalog-panel {
    padding: 14px;
}

.hunter-rank-catalog-empty,
.hunter-unlocked-glove-tier-empty {
    padding: 14px;
    border-radius: 14px;
    background: rgba(17, 24, 39, .04);
    color: #6b7280;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.hunter-rank-catalog-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: #fffbeb;
    border: 1px solid rgba(245, 158, 11, .35);
}

.hunter-rank-catalog-summary strong,
.hunter-rank-catalog-summary span,
.hunter-rank-catalog-summary em {
    display: block;
}

.hunter-rank-catalog-summary strong {
    color: #92400e;
    font-size: 14px;
    font-weight: 950;
}

.hunter-rank-catalog-summary span {
    margin-top: 4px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.hunter-rank-catalog-summary em {
    flex: 0 0 auto;
    padding: 6px 10px;
    border-radius: 999px;
    background: #111827;
    color: #fde68a;
    font-size: 12px;
    font-style: normal;
    font-weight: 950;
    white-space: nowrap;
}

.hunter-rank-catalog-list {
    display: grid;
    gap: 10px;
}

.hunter-rank-catalog-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: flex-start;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(148, 163, 184, .35);
}

.hunter-rank-catalog-item.is-current {
    background: linear-gradient(135deg, #111827, #1f2937);
    border-color: rgba(245, 158, 11, .52);
    color: #f9fafb;
}

.hunter-rank-catalog-item.is-unlocked {
    border-color: rgba(34, 197, 94, .35);
}

.hunter-rank-catalog-item.is-next {
    background: #fff7ed;
    border-color: rgba(245, 158, 11, .45);
}

.hunter-rank-catalog-item.is-locked {
    opacity: .74;
}

.hunter-rank-catalog-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: rgba(17, 24, 39, .06);
    border: 1px solid rgba(17, 24, 39, .08);
    font-size: 22px;
}

.hunter-rank-catalog-item.is-current .hunter-rank-catalog-icon {
    background: rgba(255, 255, 255, .09);
    border-color: rgba(255, 255, 255, .16);
}

.hunter-rank-catalog-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.hunter-rank-catalog-title-row h4 {
    margin: 0;
    color: #111827;
    font-size: 15px;
    font-weight: 950;
}

.hunter-rank-catalog-item.is-current .hunter-rank-catalog-title-row h4 {
    color: #fff7ed;
}

.hunter-rank-catalog-title-row span {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(17, 24, 39, .06);
    color: #6b7280;
    font-size: 11px;
    font-weight: 950;
}

.hunter-rank-catalog-item.is-current .hunter-rank-catalog-title-row span {
    background: rgba(250, 204, 21, .16);
    color: #fde68a;
}

.hunter-rank-catalog-body p {
    margin: 6px 0 8px;
    color: #6b7280;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.55;
}

.hunter-rank-catalog-item.is-current .hunter-rank-catalog-body p {
    color: rgba(255, 255, 255, .72);
}

.hunter-rank-catalog-reward {
    color: #92400e;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.45;
}

.hunter-rank-catalog-item.is-current .hunter-rank-catalog-reward {
    color: #fde68a;
}

.hunter-unlocked-glove-tier-list {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 16px;
    background: #fffbeb;
    border: 1px solid rgba(245, 158, 11, .3);
}

.hunter-unlocked-glove-tier-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.hunter-unlocked-glove-tier-summary strong {
    color: #92400e;
    font-size: 13px;
    font-weight: 950;
}

.hunter-unlocked-glove-tier-summary span {
    color: #111827;
    font-size: 12px;
    font-weight: 950;
}

.hunter-unlocked-glove-tier-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hunter-unlocked-glove-tier-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(245, 158, 11, .28);
    color: #111827;
    font-size: 12px;
    font-weight: 950;
}

.hunter-unlocked-glove-tier-chip em {
    color: #6b7280;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
}

@media (max-width: 640px) {
    .hunter-rank-catalog-panel {
        padding: 10px;
    }

    .hunter-rank-catalog-summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .hunter-rank-catalog-summary em {
        align-self: flex-start;
    }

    .hunter-rank-catalog-item {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 10px;
        padding: 10px;
    }

    .hunter-rank-catalog-icon {
        width: 36px;
        height: 36px;
        border-radius: 12px;
        font-size: 19px;
    }

    .hunter-rank-catalog-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .hunter-rank-catalog-title-row h4 {
        font-size: 14px;
    }

    .hunter-unlocked-glove-tier-list {
        padding: 10px;
    }
}

/* Alpha: locked rank spoiler guard */
.hunter-rank-benefit-next.is-locked {
    background: rgba(17, 24, 39, .05);
    border-style: dashed;
}

.hunter-rank-benefit-next.is-locked strong {
    color: #6b7280;
}

.hunter-rank-catalog-item.is-locked {
    background:
        radial-gradient(circle at 12% 0%, rgba(17, 24, 39, .06), transparent 34%),
        rgba(249, 250, 251, .78);
    border-style: dashed;
    opacity: .82;
}

.hunter-rank-catalog-item.is-next.is-locked {
    background: #fffbeb;
    border-color: rgba(245, 158, 11, .38);
    opacity: .92;
}

.hunter-rank-catalog-item.is-locked .hunter-rank-catalog-icon {
    background: rgba(17, 24, 39, .08);
    color: #6b7280;
}

.hunter-rank-catalog-item.is-locked .hunter-rank-catalog-title-row h4 {
    color: #4b5563;
}

.hunter-rank-catalog-item.is-locked .hunter-rank-catalog-title-row span {
    background: rgba(17, 24, 39, .06);
    color: #6b7280;
}

.hunter-rank-catalog-item.is-next.is-locked .hunter-rank-catalog-title-row span {
    background: rgba(245, 158, 11, .14);
    color: #92400e;
}

.hunter-rank-catalog-item.is-locked .hunter-rank-catalog-body p {
    color: #6b7280;
}

.hunter-rank-catalog-reward.is-locked {
    color: #6b7280;
}

/* Alpha: rank / glove goal board */
.hunter-rank-goal-panel {
    margin: 14px 0 18px;
    padding: 18px;
    border-radius: 24px;
    background:
        radial-gradient(circle at 18% 0%, rgba(245, 158, 11, .18), transparent 32%),
        linear-gradient(135deg, #111827, #1f2937 58%, #111827);
    border: 1px solid rgba(245, 158, 11, .42);
    box-shadow: 0 18px 40px rgba(15, 23, 42, .22);
    color: #f9fafb;
}

.hunter-rank-goal-hero {
    margin-bottom: 14px;
}

.hunter-rank-goal-kicker {
    margin-bottom: 4px;
    color: #facc15;
    font-size: 11px;
    font-weight: 1000;
    letter-spacing: .18em;
}

.hunter-rank-goal-hero h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 1000;
    color: #ffffff;
}

.hunter-rank-goal-hero p {
    margin: 7px 0 0;
    color: rgba(229, 231, 235, .78);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.6;
}

.hunter-rank-goal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.hunter-rank-goal-card {
    min-height: 118px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .12);
}

.hunter-rank-goal-card.is-current {
    border-color: rgba(96, 165, 250, .42);
    background: rgba(37, 99, 235, .16);
}

.hunter-rank-goal-card.is-next {
    border-color: rgba(250, 204, 21, .45);
    background: rgba(245, 158, 11, .13);
}

.hunter-rank-goal-card span {
    display: block;
    margin-bottom: 8px;
    color: #facc15;
    font-size: 12px;
    font-weight: 1000;
}

.hunter-rank-goal-card strong {
    display: block;
    color: #ffffff;
    font-size: 18px;
    font-weight: 1000;
    line-height: 1.3;
}

.hunter-rank-goal-card em {
    display: block;
    margin-top: 8px;
    color: rgba(229, 231, 235, .74);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.5;
}

@media (max-width: 860px) {
    .hunter-rank-goal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .hunter-rank-goal-panel {
        margin: 10px 0 14px;
        padding: 14px;
        border-radius: 20px;
    }

    .hunter-rank-goal-hero h3 {
        font-size: 19px;
    }

    .hunter-rank-goal-hero p {
        font-size: 12px;
    }

    .hunter-rank-goal-grid {
        grid-template-columns: 1fr;
    }

    .hunter-rank-goal-card {
        min-height: auto;
        padding: 12px;
    }

    .hunter-rank-goal-card strong {
        font-size: 16px;
    }
}

/* Alpha polish: keep future locked content compact */
.glove-tier-hidden-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;

    margin-top: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(17, 24, 39, .04);
    border: 1px dashed rgba(148, 163, 184, .48);
    color: #6b7280;
}

.glove-tier-hidden-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 13px;
    background: rgba(17, 24, 39, .06);
    font-size: 18px;
}

.glove-tier-hidden-summary strong,
.glove-tier-hidden-summary span {
    display: block;
}

.glove-tier-hidden-summary strong {
    color: #374151;
    font-size: 13px;
    font-weight: 950;
}

.glove-tier-hidden-summary span {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.5;
}

.glove-preview-item.locked.compact-summary {
    min-height: 136px;
    background: rgba(17, 24, 39, .035);
    border-style: dashed;
}

.glove-preview-item.locked.compact-summary .glove-lock-icon {
    background: rgba(17, 24, 39, .05);
    color: #9ca3af;
}

.glove-preview-item.locked.compact-summary span {
    max-width: 92px;
    color: #6b7280;
    line-height: 1.35;
    white-space: normal;
}

.hunter-rank-catalog-item.is-locked-summary {
    background: rgba(17, 24, 39, .035);
    border-style: dashed;
    opacity: .86;
}

.hunter-rank-catalog-item.is-locked-summary .hunter-rank-catalog-icon {
    background: rgba(17, 24, 39, .07);
    color: #6b7280;
}

.hunter-rank-catalog-item.is-locked-summary .hunter-rank-catalog-title-row h4 {
    color: #374151;
}

.hunter-rank-catalog-item.is-locked-summary .hunter-rank-catalog-title-row span {
    background: rgba(17, 24, 39, .06);
    color: #6b7280;
}

.hunter-rank-catalog-item.is-locked-summary .hunter-rank-catalog-body p {
    margin-bottom: 0;
    color: #6b7280;
}

@media (max-width: 640px) {
    .glove-tier-hidden-summary {
        padding: 10px 12px;
    }

    .glove-preview-item.locked.compact-summary span {
        max-width: 78px;
        font-size: 11px;
    }
}


/* Rank badge image support.
   Rank badges now use image assets only; no emoji fallback. */
.hunter-rank-badge-media,
.hunter-rank-badge-empty {
    width: 100%;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.hunter-rank-badge-img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.hunter-rank-badge-media.is-missing .hunter-rank-badge-img {
    display: none;
}
