:root {
    --bg: #05070c;
    --bg-soft: #0a0e15;
    --panel: rgba(12, 16, 23, .78);
    --panel-2: rgba(18, 24, 34, .84);
    --line: rgba(255,255,255,.09);
    --line-gold: rgba(245,196,81,.34);
    --gold: #f5c451;
    --gold-soft: #d89a2b;
    --red: #cf3f3f;
    --red-soft: rgba(207,63,63,.14);
    --text: #f8fafc;
    --muted: #9ca8b8;
    --green: #65c789;
    --shadow: 0 24px 70px rgba(0,0,0,.36);
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    scroll-behavior: smooth;
    background: #03050a;
}

body {
    position: relative;
    isolation: isolate;
    min-height: 100vh;
    margin: 0;
    color: var(--text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: transparent;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image:
        linear-gradient(
            90deg,
            rgba(3,5,10,.08) 0%,
            rgba(3,5,10,.02) 17%,
            rgba(3,5,10,.35) 31%,
            rgba(3,5,10,.46) 50%,
            rgba(3,5,10,.35) 69%,
            rgba(3,5,10,.02) 83%,
            rgba(3,5,10,.08) 100%
        ),
        url("../images/background-temple1.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(circle at center, rgba(5,7,12,.08), rgba(5,7,12,.26) 72%, rgba(5,7,12,.42));
    pointer-events: none;
}

a {
    color: inherit;
}

.container {
    width: min(1120px, calc(100% - 32px));
    margin-inline: auto;
}

.site-shell {
    position: relative;
    width: min(1180px, calc(100% - 40px));
    min-height: 100vh;
    margin: 0 auto;
    background:
        linear-gradient(
            180deg,
            rgba(5,7,12,.58),
            rgba(5,7,12,.46)
        );
    border-left: 1px solid rgba(245,196,81,.18);
    border-right: 1px solid rgba(245,196,81,.18);
    box-shadow:
        -28px 0 70px rgba(0,0,0,.46),
        28px 0 70px rgba(0,0,0,.46);
    backdrop-filter: blur(1.5px);
    -webkit-backdrop-filter: blur(1.5px);
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 500;

    width: 100%;

    border-top: 1px solid rgba(245, 196, 81, .18);
    border-bottom: 1px solid rgba(245, 196, 81, .16);

    background:
        linear-gradient(
            180deg,
            rgba(8, 10, 15, .97),
            rgba(4, 6, 10, .94)
        );

    box-shadow:
        0 10px 35px rgba(0, 0, 0, .48),
        inset 0 1px rgba(255, 255, 255, .025);

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

.site-header__inner {
    width: min(1440px, calc(100% - 48px));
    min-height: 78px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 42px;
}

/* Logo et nom */

.brand {
    display: flex;
    align-items: center;
    gap: 12px;

    min-width: max-content;

    color: var(--text);
    text-decoration: none;
}

.brand__mark{
    width:64px;
    height:64px;

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

    flex-shrink:0;
}

.brand__mark img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
}

.brand__text {
    display: block;
    min-width: max-content;
}

.brand__text strong {
    display: block;

    color: #f3f5f8;

    font-size: 15px;
    font-weight: 900;
    letter-spacing: .07em;
    line-height: 1.15;

    white-space: nowrap;
}

.brand__text small {
    display: block;
    margin-top: 4px;

    color: var(--muted);

    font-size: 11px;
    line-height: 1;

    white-space: nowrap;
}

/* Navigation */

.main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2vw, 34px);

    min-width: 0;
}

.main-nav a {
    position: relative;

    padding: 29px 0 25px;

    color: #b8bfca;
    text-decoration: none;

    font-size: 12px;
    font-weight: 900;
    letter-spacing: .075em;
    line-height: 1;

    text-transform: uppercase;
    white-space: nowrap;

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

.main-nav a::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 17px;
    left: 0;

    height: 2px;

    background: var(--gold);

    opacity: 0;
    transform: scaleX(.25);

    transition:
        opacity .2s ease,
        transform .2s ease;
}

.main-nav a:hover,
.main-nav a.is-active {
    color: var(--gold);
    text-shadow: 0 0 18px rgba(245, 196, 81, .20);
}

.main-nav a:hover::after,
.main-nav a.is-active::after {
    opacity: 1;
    transform: scaleX(1);
}

/* Bouton HLStats */

.classic-button {
    min-width: max-content;

    display: grid;
    grid-template-columns: auto auto;
    column-gap: 8px;
    align-items: center;

    padding: 10px 15px;

    border: 1px solid rgba(245, 196, 81, .32);
    border-radius: 9px;

    color: #edf0f4;
    background:
        linear-gradient(
            145deg,
            rgba(245, 196, 81, .07),
            rgba(245, 196, 81, .015)
        );

    text-decoration: none;

    box-shadow:
        inset 0 1px rgba(255, 255, 255, .035),
        0 9px 24px rgba(0, 0, 0, .20);

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

.classic-button > span:first-child {
    grid-row: 1 / 3;
}

.classic-button > span:nth-child(2) {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    white-space: nowrap;
}

.classic-button small {
    color: var(--gold);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .10em;
    line-height: 1;
    text-transform: uppercase;
}

.classic-button:hover {
    transform: translateY(-2px);

    border-color: rgba(245, 196, 81, .70);
    background: rgba(245, 196, 81, .11);
}

.hero {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid rgba(245, 196, 81, .24);
    background: #03050a;
}

.hero__media {
    width: 100%;
    background: #020409;
}

.hero__media img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 950px;
    object-fit: contain;
    object-position: center top;
    margin: 0 auto;
}

.hero__content {
    position: relative;
    margin-top: -100px;
    padding: 140px 0 54px;
    background:
        linear-gradient(
            180deg,
            rgba(5,7,12,0) 0%,
            rgba(5,7,12,.72) 30%,
            rgba(5,7,12,.58) 72%,
            rgba(5,7,12,.50) 100%
        );
}

.hero__content .container {
    position: relative;
    z-index: 2;
}

.hero h1 {
    max-width: 880px;
    margin: 16px 0 12px;
    color: var(--gold);
    font-size: clamp(50px, 8vw, 96px);
    line-height: .9;
    text-transform: uppercase;
    text-shadow: 0 6px 34px rgba(0, 0, 0, .82);
}

.hero__lead {
    max-width: 760px;
    margin: 0;
    color: #dce3ec;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.65;
}

.hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 3fr) 360px;
    gap: 90px;
    align-items: center;
}

.hero__left {
    min-width: 0;
}

.hero__right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
}

.hero__right .hero__actions {
    width: 100%;
    max-width: 360px;
    margin-top: 0;
}

.hero__right .hero__actions .button {
    width: 100%;
}

.hero__right .status-list {
    width: 100%;
    max-width: 360px;
    margin-top: 16px;
    justify-content: flex-end;
}

.hero__right .status-chip {
    flex: 1 1 auto;
    text-align: center;
}

.eyebrow,
.section__kicker,
.story-banner__label {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;

    font-size:.9rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:700;
}

.eyebrow img{
    width:34px;
    height:34px;
    object-fit:contain;

    filter:
        drop-shadow(0 0 10px rgba(245,196,81,.45))
        drop-shadow(0 0 2px rgba(255,255,255,.15));
}

.hero h1 {
    max-width: 880px;
    margin: 16px 0 12px;
    color: var(--gold);
    font-size: clamp(50px, 8vw, 96px);
    line-height: .9;
    text-transform: uppercase;
    text-shadow: 0 6px 34px rgba(0,0,0,.82);
}

.hero__lead {
    max-width: 760px;
    margin: 0;
    color: #dce3ec;
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.65;
}

.hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 16px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 900;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button--gold {
    color: #16120a;
    background: linear-gradient(180deg, #ffd978, var(--gold));
    box-shadow: 0 12px 30px rgba(245,196,81,.18);
}

.button--ghost {
    border: 1px solid rgba(255,255,255,.16);
    color: var(--text);
    background: rgba(5,7,12,.50);
}

.button--full {
    width: 100%;
}

.status-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.status-chip {
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 9px;
    background: rgba(5,7,12,.70);
    color: #dce3ec;
    font-size: 13px;
}

.status-chip--online {
    color: var(--green);
    font-weight: 900;
}

.main-content {
    padding-block: 28px 60px;
}

.story-banner--grand-boucher {
    position: relative;
    width: 100%;
    margin-top: 22px;
    padding: 0;

    overflow: hidden;

    border: 0;
    border-radius: 0;

    background: transparent;
    box-shadow: none;
}

.story-banner--grand-boucher img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;
    object-position: center;

    filter:
        drop-shadow(0 22px 42px rgba(0, 0, 0, .48))
        drop-shadow(0 0 16px rgba(245, 196, 81, .06));
}

.section {
    margin-top: 48px;
}

.section__header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: end;
    margin-bottom: 18px;
}

.section__header h2,
.archive-link h2,
.final-quote p {
    margin: 4px 0 0;
    color: var(--gold);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1;
    text-transform: uppercase;
}

.section__header p,
.archive-link p {
    max-width: 760px;
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.65;
}

/* =========================================================
   PANTHÉON DU CUT
   ========================================================= */

.pantheon-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.pantheon-card {
    position: relative;
    min-width: 0;
    min-height: 220px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    overflow: hidden;

    padding: 18px 18px 15px;

    border: 1px solid rgba(245, 196, 81, .34);
    border-radius: 7px;

    background:
        radial-gradient(
            circle at 18% 16%,
            rgba(245, 196, 81, .055),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .025),
            transparent 48%
        ),
        rgba(7, 10, 15, .88);

    box-shadow:
        0 18px 44px rgba(0, 0, 0, .38),
        inset 0 1px 0 rgba(255, 255, 255, .035),
        inset 0 -1px 0 rgba(0, 0, 0, .76);

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

.pantheon-card:hover {
    transform: translateY(-4px);

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

    box-shadow:
        0 24px 54px rgba(0, 0, 0, .46),
        0 0 28px rgba(245, 196, 81, .07),
        inset 0 1px rgba(255, 255, 255, .045);
}

.pantheon-card__main {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.pantheon-card__icon {
    width: 76px;
    height: 92px;

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

    overflow: hidden;
}

.pantheon-card__icon img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;

    filter:
        drop-shadow(0 9px 15px rgba(0, 0, 0, .58))
        drop-shadow(0 0 10px rgba(245, 196, 81, .07));
}

.pantheon-card__content {
    min-width: 0;
}

.pantheon-card__label {
    display: block;

    color: var(--gold);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: .095em;
    line-height: 1.2;

    text-transform: uppercase;
}

.pantheon-card__name {
    display: block;

    margin-top: 10px;

    overflow-wrap: anywhere;

    color: var(--gold);

    font-size: clamp(23px, 2vw, 31px);
    font-weight: 1000;
    letter-spacing: .025em;
    line-height: 1;

    text-transform: uppercase;

    text-shadow:
        0 2px 0 rgba(0, 0, 0, .72),
        0 0 18px rgba(245, 196, 81, .12);
}

.pantheon-card__duel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;

    margin-top: 10px;

    color: var(--gold);

    font-size: clamp(16px, 1.4vw, 22px);
    font-weight: 1000;
    line-height: 1.1;

    text-transform: uppercase;
}

.pantheon-card__duel small {
    color: var(--muted);

    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

.pantheon-card__value {
    display: block;

    margin-top: 10px;

    color: #f0f2f5;

    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1.3;

    text-transform: uppercase;
}

.pantheon-card blockquote {
    margin: 16px 0 0;
    padding-top: 12px;

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

    color: #d4cec2;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 13px;
    font-style: italic;
    line-height: 1.45;

    text-align: center;
}

.pantheon-card--blood {
    border-color: rgba(190, 57, 57, .52);

    background:
        radial-gradient(
            circle at 18% 16%,
            rgba(207, 63, 63, .13),
            transparent 36%
        ),
        linear-gradient(
            145deg,
            rgba(207, 63, 63, .05),
            transparent 50%
        ),
        rgba(7, 10, 15, .90);
}

.pantheon-card--blood .pantheon-card__label,
.pantheon-card--blood .pantheon-card__name {
    color: #ad3d3d;
}

.pantheon-card--king,
.pantheon-card--duel,
.pantheon-card--rate {
    border-color: rgba(245, 196, 81, .42);
}

.quote-section {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 18px;
    align-items: center;
    text-align: center;
}

.quote-section blockquote {
    max-width: 760px;
    margin: 0;
    color: #eef2f7;
    font-family: Georgia, serif;
    font-size: clamp(21px, 3vw, 32px);
    font-style: italic;
}

.quote-section span {
    grid-column: 2;
    color: var(--muted);
    font-size: 13px;
}

.quote-section__line {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(245,196,81,.55), transparent);
}

/* =========================================================
   ASCENSION DU DÉCOUPEUR
   ========================================================= */

.ascension-section {
    position: relative;
}

.ascension-heading {
    max-width: 850px;
}

.ascension-heading h2 {
    margin: 5px 0 0;

    color: var(--gold);

    font-size: clamp(32px, 4.5vw, 50px);
    line-height: 1;

    text-transform: uppercase;

    text-shadow:
        0 3px 0 rgba(0, 0, 0, .65),
        0 0 28px rgba(245, 196, 81, .08);
}

.ascension-heading > p {
    margin: 14px 0 0;

    color: #cdd3dc;

    font-size: 17px;
    line-height: 1.75;
}

/* Les trois lois */

.blade-code {
    margin-top: 28px;

    border-top: 1px solid rgba(245, 196, 81, .23);
    border-bottom: 1px solid rgba(245, 196, 81, .23);

    background:
        linear-gradient(
            90deg,
            rgba(245, 196, 81, .025),
            rgba(5, 7, 12, .54),
            rgba(245, 196, 81, .025)
        );
}

.blade-code__item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 20px;

    padding: 22px 24px;

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

.blade-code__item:last-child {
    border-bottom: 0;
}

.blade-code__number {
    width: 52px;
    height: 52px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(245, 196, 81, .40);
    border-radius: 50%;

    color: var(--gold);

    background:
        radial-gradient(
            circle,
            rgba(245, 196, 81, .11),
            rgba(5, 7, 12, .72)
        );

    font-family: Georgia, serif;
    font-size: 21px;
    font-weight: 900;

    box-shadow:
        inset 0 1px rgba(255, 255, 255, .05),
        0 9px 25px rgba(0, 0, 0, .30);
}

.blade-code__item h3 {
    margin: 0;

    color: var(--gold);

    font-size: 18px;
    letter-spacing: .055em;

    text-transform: uppercase;
}

.blade-code__item p {
    margin: 7px 0 0;

    max-width: 870px;

    color: var(--muted);

    line-height: 1.65;
}

/* Introduction du parcours */

.ascension-intro {
    display: flex;
    align-items: center;
    gap: 17px;

    margin: 38px 0 24px;
    padding: 17px 20px;

    border: 1px solid rgba(245, 196, 81, .28);
    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            rgba(245, 196, 81, .07),
            transparent 48%
        ),
        rgba(7, 10, 15, .72);
}

.ascension-intro__icon {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    flex: 0 0 42px;

    border: 1px solid rgba(245, 196, 81, .38);
    border-radius: 50%;

    color: var(--gold);
}

.ascension-intro strong {
    color: var(--gold);

    font-size: 15px;
    letter-spacing: .07em;

    text-transform: uppercase;
}

.ascension-intro p {
    margin: 4px 0 0;

    color: var(--muted);

    line-height: 1.5;
}

/* =========================================================
   GRILLE DES RANGS DU PANTHÉON
   ========================================================= */

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

/* Carte */

.rank-stone {
    position: relative;
    isolation: isolate;

    min-width: 0;
    min-height: 390px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    padding: 14px 15px 18px;

    border: 1px solid rgba(245, 196, 81, .22);
    border-radius: 11px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .035),
            transparent 42%
        ),
        radial-gradient(
            circle at 50% 24%,
            rgba(245, 196, 81, .08),
            transparent 38%
        ),
        rgba(7, 10, 15, .90);

    box-shadow:
        0 19px 46px rgba(0, 0, 0, .34),
        inset 0 1px rgba(255, 255, 255, .035),
        inset 0 -1px rgba(0, 0, 0, .74);

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

.rank-stone::before {
    content: "";

    position: absolute;
    inset: 7px;
    z-index: -1;

    border: 1px solid rgba(245, 196, 81, .06);
    border-radius: 7px;

    pointer-events: none;
}

.rank-stone::after {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -2;

    opacity: 0;

    background:
        radial-gradient(
            circle at 50% 35%,
            rgba(245, 196, 81, .15),
            transparent 55%
        );

    transition: opacity .22s ease;
}

.rank-stone:hover {
    transform: translateY(-7px);

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

    box-shadow:
        0 28px 62px rgba(0, 0, 0, .47),
        0 0 28px rgba(245, 196, 81, .08),
        inset 0 1px rgba(255, 255, 255, .045);
}

.rank-stone:hover::after {
    opacity: 1;
}

/* En-tête */

.rank-stone__top {
    min-height: 34px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.rank-stone__marker {
    width: 29px;
    height: 29px;

    display: grid;
    place-items: center;

    flex: 0 0 29px;

    border: 1px solid rgba(245, 196, 81, .48);
    border-radius: 50%;

    color: var(--gold);
    background: rgba(245, 196, 81, .075);

    font-size: 11px;
    font-weight: 1000;

    box-shadow:
        inset 0 1px rgba(255, 255, 255, .05),
        0 0 15px rgba(245, 196, 81, .08);
}

.rank-stone__step {
    color: var(--muted);

    font-size: 9px;
    font-weight: 900;
    letter-spacing: .13em;
    line-height: 1.2;

    text-align: right;
    text-transform: uppercase;
}

/* Illustration */

.rank-stone__emblem {
    width: 100%;
    height: 175px;

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

    margin-top: 5px;
}

.rank-stone__emblem img {
    display: block;

    width: 145px;
    height: 175px;

    object-fit: contain;

    filter:
        drop-shadow(0 13px 22px rgba(0, 0, 0, .52));

    transition:
        transform .28s ease,
        filter .28s ease;
}

.rank-stone:hover .rank-stone__emblem img {
    transform: translateY(-5px) scale(1.045);

    filter:
        drop-shadow(0 16px 28px rgba(0, 0, 0, .58))
        drop-shadow(0 0 17px rgba(245, 196, 81, .16));
}

/* Contenu */

.rank-stone__content {
    min-width: 0;

    display: flex;
    flex-direction: column;
    flex: 1;

    text-align: center;
}

.rank-stone__content h3 {
    margin: 8px 0 0;

    color: var(--gold);

    font-size: clamp(18px, 1.55vw, 24px);
    font-weight: 1000;
    letter-spacing: .015em;
    line-height: 1.05;

    text-transform: uppercase;

    text-shadow:
        0 2px rgba(0, 0, 0, .72),
        0 0 17px rgba(245, 196, 81, .09);
}

.rank-stone__content strong {
    display: block;

    margin-top: 9px;

    color: #f2f4f7;

    font-size: 11px;
    font-weight: 900;
    letter-spacing: .07em;
    line-height: 1.25;

    text-transform: uppercase;
}

.rank-stone__content p {
    margin: 13px 0 0;

    color: var(--muted);

    font-size: 13px;
    line-height: 1.52;
}

/* =========================================================
   NIVEAUX DE PRESTIGE
   ========================================================= */

/* Paliers de départ */

.rank-stone--common {
    border-color: rgba(164, 172, 184, .20);
}

/* 100 à 200 cuts */

.rank-stone--rare {
    border-color: rgba(207, 151, 59, .36);

    background:
        radial-gradient(
            circle at 50% 25%,
            rgba(207, 151, 59, .10),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .03),
            transparent 42%
        ),
        rgba(7, 10, 15, .91);
}

/* 300 à 750 cuts */

.rank-stone--epic {
    border-color: rgba(245, 196, 81, .45);

    box-shadow:
        0 20px 48px rgba(0, 0, 0, .36),
        0 0 18px rgba(245, 196, 81, .04),
        inset 0 1px rgba(255, 255, 255, .04);
}

/* 1000 à 3000 cuts */

.rank-stone--legendary {
    border-color: rgba(245, 196, 81, .60);

    background:
        radial-gradient(
            circle at 50% 24%,
            rgba(245, 196, 81, .18),
            transparent 43%
        ),
        linear-gradient(
            145deg,
            rgba(245, 196, 81, .06),
            transparent 48%
        ),
        rgba(7, 10, 15, .93);

    box-shadow:
        0 22px 52px rgba(0, 0, 0, .42),
        0 0 25px rgba(245, 196, 81, .075),
        inset 0 1px rgba(255, 255, 255, .045);
}

/* 5000 et 7500 cuts */

.rank-stone--mythic {
    border-color: rgba(218, 132, 55, .72);

    background:
        radial-gradient(
            circle at 50% 24%,
            rgba(218, 132, 55, .22),
            transparent 43%
        ),
        radial-gradient(
            circle at 50% 100%,
            rgba(120, 42, 24, .12),
            transparent 50%
        ),
        rgba(8, 9, 14, .95);

    box-shadow:
        0 24px 58px rgba(0, 0, 0, .46),
        0 0 30px rgba(218, 132, 55, .10),
        inset 0 1px rgba(255, 255, 255, .045);
}

/* Rang ultime */

.rank-stone--immortal {
    grid-column: span 2;

    border-color: rgba(255, 216, 112, .82);

    background:
        radial-gradient(
            circle at 50% 26%,
            rgba(255, 216, 112, .28),
            transparent 42%
        ),
        radial-gradient(
            circle at 50% 100%,
            rgba(156, 75, 27, .18),
            transparent 54%
        ),
        linear-gradient(
            145deg,
            rgba(255, 216, 112, .08),
            transparent 50%
        ),
        rgba(8, 9, 13, .97);

    box-shadow:
        0 29px 68px rgba(0, 0, 0, .52),
        0 0 38px rgba(255, 205, 86, .14),
        inset 0 1px rgba(255, 255, 255, .06);

    animation: immortalGlow 4.5s ease-in-out infinite;
}

.rank-stone--immortal .rank-stone__emblem {
    height: 195px;
}

.rank-stone--immortal .rank-stone__emblem img {
    width: 170px;
    height: 195px;

    filter:
        drop-shadow(0 16px 30px rgba(0, 0, 0, .62))
        drop-shadow(0 0 24px rgba(255, 210, 98, .28));
}

.rank-stone--immortal .rank-stone__content h3 {
    font-size: clamp(24px, 2.4vw, 34px);
}

.rank-stone--immortal .rank-stone__marker {
    color: #201706;
    background: var(--gold);
}

@keyframes immortalGlow {
    0%,
    100% {
        box-shadow:
            0 29px 68px rgba(0, 0, 0, .52),
            0 0 28px rgba(255, 205, 86, .10),
            inset 0 1px rgba(255, 255, 255, .06);
    }

    50% {
        box-shadow:
            0 29px 68px rgba(0, 0, 0, .55),
            0 0 44px rgba(255, 205, 86, .20),
            inset 0 1px rgba(255, 255, 255, .07);
    }
}
@media (max-width: 1100px) {
    .rank-path {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rank-stone--immortal {
        grid-column: span 2;
    }
}

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

    .rank-stone {
        min-height: 370px;
    }

    .rank-stone--immortal {
        grid-column: span 2;
    }
}

@media (max-width: 520px) {
    .rank-path {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .rank-stone,
    .rank-stone--immortal {
        grid-column: auto;
        min-height: 0;
    }

    .rank-stone {
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        column-gap: 14px;

        padding: 13px;
    }

    .rank-stone__top {
        grid-column: 1 / -1;
    }

    .rank-stone__emblem,
    .rank-stone--immortal .rank-stone__emblem {
        width: 100px;
        height: 132px;

        margin-top: 3px;
    }

    .rank-stone__emblem img,
    .rank-stone--immortal .rank-stone__emblem img {
        width: 100px;
        height: 132px;
    }

    .rank-stone__content {
        justify-content: center;
        text-align: left;
    }

    .rank-stone__content h3,
    .rank-stone--immortal .rank-stone__content h3 {
        margin-top: 0;
        font-size: 20px;
    }

    .rank-stone__content p {
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.45;
    }
}
@media (max-width: 460px) {
    .rank-path {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .rank-stone,
    .rank-stone--immortal {
        display: flex;
        flex-direction: column;

        grid-column: auto;

        min-height: 0;
        padding: 13px 14px 18px;
    }

    .rank-stone__top {
        width: 100%;
    }

    .rank-stone__emblem,
    .rank-stone--immortal .rank-stone__emblem {
        width: 100%;
        height: 150px;

        margin-top: 4px;
    }

    .rank-stone__emblem img,
    .rank-stone--immortal .rank-stone__emblem img {
        width: 130px;
        height: 150px;
    }

    .rank-stone__content {
        width: 100%;

        justify-content: initial;
        text-align: center;
    }

    .rank-stone__content h3,
    .rank-stone--immortal .rank-stone__content h3 {
        margin-top: 5px;

        font-size: 22px;
        line-height: 1.05;
    }

    .rank-stone__content strong {
        margin-top: 8px;
    }

    .rank-stone__content p {
        max-width: 290px;

        margin: 11px auto 0;

        font-size: 13px;
        line-height: 1.5;
    }
}

.section-title{
    display:flex;
    align-items:center;
    gap:16px;
}

.section-title img{
    width:104px;
    height:104px;
    object-fit:contain;

    filter:
        drop-shadow(0 0 10px rgba(245,196,81,.35));
}

.search-box {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.search-box input {
    width: 260px;
    padding: 12px 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    outline: none;
    color: var(--text);
    background: var(--panel);
}

.search-box input:focus {
    border-color: var(--gold);
}

/* =========================================================
   HALL OF BLADE — PODIUM MONUMENTAL
   ========================================================= */

.hero-wall {
    display: grid;
    gap: 22px;
}

.hero-podium {
    display: grid;
    grid-template-columns: 1fr 1.18fr 1fr;
    gap: 16px;
    align-items: end;
}

.hero-entry {
    position: relative;
    min-height: 390px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    border: 1px solid rgba(245, 196, 81, .28);
    border-radius: 12px;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    box-shadow:
        0 25px 65px rgba(0, 0, 0, .42),
        inset 0 1px rgba(255,255,255,.035),
        inset 0 -1px rgba(0,0,0,.76);
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}

.hero-entry:hover {
    transform: translateY(-6px);
    box-shadow:
        0 32px 78px rgba(0,0,0,.50),
        0 0 34px rgba(245,196,81,.08),
        inset 0 1px rgba(255,255,255,.045);
}

.hero-entry::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            rgba(5, 7, 12, .02) 0%,
            rgba(5, 7, 12, .08) 40%,
            rgba(5, 7, 12, .68) 72%,
            rgba(5, 7, 12, .97) 100%
        );
}

.hero-entry::after {
    content: "";
    position: absolute;
    inset: 8px;
    z-index: 3;
    border: 1px solid rgba(245, 196, 81, .12);
    border-radius: 8px;
    pointer-events: none;
}

.hero-entry--first {
    min-height: 620px;
    border: 2px solid rgba(245, 196, 81, .72);
    background-image: url("../images/stele1.png");
    box-shadow:
        0 32px 80px rgba(0, 0, 0, .55),
        0 0 38px rgba(245, 196, 81, .10),
        inset 0 1px rgba(255, 255, 255, .05);
    animation: crownGlow 5s ease-in-out infinite;
}

.hero-entry--second {
    min-height: 470px;
    border-color: rgba(200, 206, 215, .56);
    background-image: url("../images/stele2.png");
}

.hero-entry--third {
    min-height: 455px;
    border-color: rgba(189, 122, 66, .62);
    background-image: url("../images/stele3.png");
}

.hero-entry--second::before,
.hero-entry--third::before {
    background:
        linear-gradient(
            180deg,
            rgba(5, 7, 12, .02) 0%,
            rgba(5, 7, 12, .10) 42%,
            rgba(5, 7, 12, .76) 73%,
            rgba(5, 7, 12, .98) 100%
        );
}

.hero-entry__rank {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 4;
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.hero-entry__rank img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 8px 16px rgba(0,0,0,.55));
}

.hero-entry__visual {
    display: none;
}

.hero-entry__body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    width: 100%;
    padding: 250px 24px 26px;
    text-align: center;
    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(5, 7, 12, .30) 24%,
            rgba(5, 7, 12, .86) 58%,
            rgba(5, 7, 12, .98) 100%
        );
}

.hero-entry--first .hero-entry__body {
    padding: 330px 28px 30px;
}

.hero-entry__eyebrow {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.hero-entry__name {
    margin-top: 8px;
    color: var(--gold);
    font-size: clamp(24px, 2.8vw, 37px);
    font-weight: 1000;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    text-shadow:
        0 2px 0 rgba(0,0,0,.70),
        0 0 22px rgba(245,196,81,.11);
}

.hero-entry__stats {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 14px;
}

.hero-entry__stats span {
    padding: 7px 10px;
    border: 1px solid rgba(245,196,81,.18);
    border-radius: 999px;
    color: #d9dee6;
    background: rgba(5,7,12,.60);
    font-size: 11px;
    font-weight: 800;
}

.hero-entry__stats strong {
    color: var(--gold);
}

.hero-entry__title {
    margin: 13px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.hero-entry__quote {
    margin: auto 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.07);
    color: #d4cec2;
    font-family: Georgia, serif;
    font-size: 14px;
    font-style: italic;
    line-height: 1.5;
}

.hero-list {
    display: grid;
    gap: 10px;
}

.hero-row {
    display: grid;
    grid-template-columns: 54px 58px minmax(0,1fr) auto;
    gap: 14px;
    align-items: center;
    min-height: 82px;
    padding: 12px 16px;
    border: 1px solid rgba(245,196,81,.18);
    border-radius: 10px;
    background:
        linear-gradient(90deg, rgba(245,196,81,.04), transparent 34%),
        rgba(8,11,17,.82);
    box-shadow:
        0 14px 34px rgba(0,0,0,.28),
        inset 0 1px rgba(255,255,255,.025);
    transition:
        transform .18s ease,
        border-color .18s ease;
}

.hero-row:hover {
    transform: translateX(5px);
    border-color: rgba(245,196,81,.46);
}

.hero-row__rank {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(245,196,81,.27);
    border-radius: 50%;
    color: var(--gold);
    background: rgba(245,196,81,.06);
    font-weight: 1000;
}

.hero-row__icon{
    display:flex;
    align-items:center;
    justify-content:center;
}

.hero-row__icon img{
    width:64px;
    height:auto;
    display:block;

    filter:
        drop-shadow(0 6px 12px rgba(0,0,0,.45));

    transition:transform .2s ease;
}

.hero-row:hover .hero-row__icon img{
    transform:scale(1.08);
}

.hero-row__trophy{
    display:block;
    margin-top:4px;

    color:var(--gold);
    font-size:.82rem;
    font-weight:700;
}

.hero-row__identity {
    min-width: 0;
}

.hero-row__name {
    display: block;
    color: var(--gold);
    font-size: 17px;
    font-weight: 1000;
    text-decoration: none;
    text-transform: uppercase;
}

.hero-row__identity span {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
}

.hero-row__cuts {
    min-width: 90px;
    text-align: right;
}

.hero-row__cuts strong {
    display: block;
    color: #f3f5f7;
    font-size: 22px;
}

.hero-row__cuts span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.hero-wall__empty {
    padding: 28px;
    border: 1px dashed rgba(245,196,81,.30);
    border-radius: 10px;
    color: var(--muted);
    text-align: center;
    background: rgba(5,7,12,.44);
}

.hero-entry[hidden],
.hero-row[hidden] {
    display: none !important;
}

@keyframes crownGlow {
    0%, 100% {
        filter: brightness(1);
    }

    50% {
        filter:
            brightness(1.08)
            drop-shadow(0 0 14px rgba(245,196,81,.25));
    }
}

.table-wrap {
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 15px;
}

.table-wrap--premium {
    box-shadow: var(--shadow);
}

.data-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    background: var(--panel);
}

.data-table th,
.data-table td {
    padding: 15px 16px;
    border-bottom: 1px solid rgba(255,255,255,.07);
    text-align: left;
}

.data-table th {
    color: var(--gold);
    background: #090d14;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.data-table tr:last-child td {
    border-bottom: 0;
}

.data-table tbody tr:hover {
    background: rgba(245,196,81,.035);
}

.player-link {
    color: var(--text);
    font-weight: 900;
    text-decoration: none;
}

.player-link:hover {
    color: var(--gold);
}

.cut-count {
    color: var(--red);
    font-size: 18px;
    font-weight: 900;
}

.rank-medal {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--muted);
    background: rgba(255,255,255,.05);
    font-weight: 900;
}

.rank-medal--1 {
    color: #201706;
    background: var(--gold);
}

.rank-medal--2 {
    color: #1a1d22;
    background: #c8ced7;
}

.rank-medal--3 {
    color: #241307;
    background: #bd7a42;
}

.hall-note {
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px dashed rgba(245,196,81,.34);
    border-radius: 11px;
    color: var(--muted);
    background: rgba(245,196,81,.03);
}

.hall-note strong {
    color: var(--gold);
}

.section--split {
    display: grid;
    grid-template-columns: minmax(0,1.45fr) minmax(280px,.55fr);
    gap: 18px;
}

.timeline {
    display: grid;
    gap: 10px;
}

.event-card {
    display: grid;
    grid-template-columns: 72px 1fr auto;
    gap: 14px;
    align-items: center;
    padding: 15px 16px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
}

.event-card time,
.event-card small {
    color: var(--muted);
}

.event-card p {
    margin: 0;
}

.event-card strong {
    color: var(--gold);
}

.event-card em {
    color: var(--red);
    font-style: normal;
    font-weight: 900;
}

.event-card__knife {
    font-size: 24px;
}

.side-lore {
    align-self: start;
    padding: 22px;
    border: 1px solid var(--line-gold);
    border-radius: 15px;
    background:
        linear-gradient(145deg, rgba(245,196,81,.08), transparent 55%),
        var(--panel);
    box-shadow: var(--shadow);
}

.side-lore h3 {
    margin: 6px 0 14px;
    color: var(--gold);
    font-size: 25px;
}

.side-lore ol {
    margin: 0 0 20px;
    padding-left: 20px;
}

.side-lore li {
    margin-bottom: 12px;
    color: #dce3ec;
    line-height: 1.55;
}

/* =========================================================
   DERNIERS CUTS — ARCHIVES DU PANTHÉON
   ========================================================= */

.last-cuts-section {
    align-items: start;
    gap: 22px;
}

.last-cuts-main {
    min-width: 0;
}

.section-title--cuts img {
    width: 76px;
    height: 76px;
}

.timeline--premium {
    position: relative;
    gap: 12px;
}

.timeline--premium::before {
    content: "";

    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 27px;

    width: 1px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(245, 196, 81, .48) 10%,
            rgba(245, 196, 81, .18) 88%,
            transparent
        );
}

.event-card--premium {
    position: relative;

    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) 74px;
    gap: 16px;
    align-items: center;

    min-height: 108px;
    padding: 16px 18px;

    overflow: hidden;

    border: 1px solid rgba(245, 196, 81, .22);
    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            rgba(245, 196, 81, .055),
            transparent 30%
        ),
        radial-gradient(
            circle at 88% 50%,
            rgba(245, 196, 81, .055),
            transparent 30%
        ),
        rgba(8, 11, 17, .86);

    box-shadow:
        0 18px 42px rgba(0, 0, 0, .32),
        inset 0 1px rgba(255, 255, 255, .03),
        inset 0 -1px rgba(0, 0, 0, .68);

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

.event-card--premium:hover {
    transform: translateX(6px);

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

    box-shadow:
        0 24px 52px rgba(0, 0, 0, .42),
        0 0 26px rgba(245, 196, 81, .055),
        inset 0 1px rgba(255, 255, 255, .04);
}

.event-card--premium::after {
    content: "";

    position: absolute;
    inset: 7px;

    border: 1px solid rgba(245, 196, 81, .055);

    pointer-events: none;
}

.event-card__index {
    position: relative;
    z-index: 2;

    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(245, 196, 81, .40);
    border-radius: 50%;

    color: var(--gold);

    background:
        radial-gradient(
            circle,
            rgba(245, 196, 81, .10),
            rgba(5, 7, 12, .82)
        );

    font-family: Georgia, serif;
    font-size: 13px;
    font-weight: 900;

    box-shadow:
        0 0 0 5px rgba(5, 7, 12, .88),
        0 0 18px rgba(245, 196, 81, .12);
}

.event-card__content {
    min-width: 0;
}

.event-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
}

.event-card__meta time {
    color: var(--gold);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;

    text-transform: uppercase;
}

.event-card__map {
    padding: 4px 8px;

    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;

    color: var(--muted);
    background: rgba(255, 255, 255, .025);

    font-size: 10px;
    font-weight: 800;
}

.event-card__content p {
    margin: 10px 0 0;

    color: #dce2ea;

    font-size: 16px;
    line-height: 1.45;
}

.event-card__content strong {
    color: var(--gold);
    font-size: 18px;
}

.event-card__action {
    margin-inline: 5px;
    color: var(--muted);
}

.event-card__content em {
    color: #b94a4a;
    font-style: normal;
    font-weight: 1000;
}

.event-card__image {
    width: 66px;
    height: 86px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.event-card__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    filter:
        drop-shadow(0 10px 18px rgba(0, 0, 0, .48));
}

/* Panneau du code */

.side-lore--premium {
    padding: 0;

    overflow: hidden;

    border: 1px solid rgba(245, 196, 81, .34);
    border-radius: 11px;

    background:
        linear-gradient(
            160deg,
            rgba(245, 196, 81, .065),
            transparent 42%
        ),
        rgba(7, 10, 15, .92);

    box-shadow:
        0 26px 64px rgba(0, 0, 0, .42),
        inset 0 1px rgba(255, 255, 255, .035);
}

.side-lore--premium::after {
    content: "";

    position: absolute;
    inset: 8px;

    border: 1px solid rgba(245, 196, 81, .07);

    pointer-events: none;
}

.side-lore__visual {
    height: 170px;

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

    overflow: hidden;

    border-bottom: 1px solid rgba(245, 196, 81, .17);

    background:
        radial-gradient(
            circle at center,
            rgba(245, 196, 81, .08),
            transparent 62%
        ),
        rgba(5, 7, 12, .54);
}

.side-lore__visual img {
    width: 150px;
    height: 150px;

    object-fit: contain;

    filter:
        drop-shadow(0 16px 28px rgba(0, 0, 0, .52))
        drop-shadow(0 0 16px rgba(245, 196, 81, .10));
}

.side-lore__content {
    padding: 22px;
}

.side-lore__content h3 {
    margin: 7px 0 18px;

    color: var(--gold);

    font-size: 27px;
    line-height: 1;

    text-transform: uppercase;
}

.blade-rules {
    display: grid;
    gap: 0;

    margin: 0 0 22px;
    padding: 0;

    list-style: none;
}

.blade-rules li {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: start;

    padding: 13px 0;

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

.blade-rules li:last-child {
    border-bottom: 0;
}

.blade-rules li > span {
    width: 32px;
    height: 32px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(245, 196, 81, .32);
    border-radius: 50%;

    color: var(--gold);
    background: rgba(245, 196, 81, .055);

    font-family: Georgia, serif;
    font-size: 11px;
    font-weight: 900;
}

.blade-rules p {
    margin: 2px 0 0;

    color: #d8dee7;

    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 980px) {
    .last-cuts-section {
        grid-template-columns: 1fr;
    }

    .side-lore--premium {
        width: 100%;
    }

    .side-lore__visual {
        height: 150px;
    }
}

@media (max-width: 620px) {
    .section-title--cuts {
        align-items: center;
        gap: 12px;
    }

    .section-title--cuts img {
        width: 58px;
        height: 58px;
    }

    .event-card--premium {
        grid-template-columns: 40px minmax(0, 1fr) 58px;
        gap: 10px;

        min-height: 96px;
        padding: 13px 11px;
    }

    .timeline--premium::before {
        left: 20px;
    }

    .event-card__index {
        width: 34px;
        height: 34px;

        font-size: 11px;
    }

    .event-card__image {
        width: 54px;
        height: 72px;
    }

    .event-card__content strong {
        font-size: 16px;
    }

    .event-card__content p {
        font-size: 14px;
    }

    .side-lore__visual {
        height: 130px;
    }

    .side-lore__visual img {
        width: 116px;
        height: 116px;
    }
}

@media (max-width: 430px) {
    .event-card--premium {
        grid-template-columns: minmax(0, 1fr) 58px;
        gap: 10px;
        align-items: center;

        padding: 13px 11px;
    }

    .event-card__image {
        display: flex;
        width: 58px;
        height: 76px;
    }

    .event-card__content {
        min-width: 0;
    }

    .event-card__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 6px 8px;
    }

    .event-card__content p {
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.4;
    }

    .event-card__action {
        margin-inline: 4px;
    }

    .timeline--premium::before {
        display: none;
    }
}

.archive-link {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: center;
    padding: 26px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.025), transparent 55%),
        var(--panel);
}

.final-quote {
    margin-bottom: 48px;
    padding: 36px 22px;
    border-top: 1px solid var(--line-gold);
    border-bottom: 1px solid var(--line-gold);
    text-align: center;
}

.final-quote > span {
    font-size: 42px;
}

.final-quote p {
    margin-top: 10px;
}

.final-quote strong {
    display: block;
    margin-top: 8px;
    color: #dce3ec;
    font-size: 18px;
}

.site-footer {
    padding: 26px 0 42px;
    color: var(--muted);
    text-align: center;
}



/* =========================================================
   SÉPARATEURS GRECS
   ========================================================= */

.greek-divider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    height: 34px;
    margin: 46px 0 8px;
    color: var(--gold);
    opacity: .9;
}

.greek-divider::before,
.greek-divider::after {
    content: "";
    flex: 1;
    height: 10px;
    max-width: 430px;
    background:
        linear-gradient(90deg, transparent, rgba(245,196,81,.55) 10%, rgba(245,196,81,.55) 90%, transparent),
        repeating-linear-gradient(
            90deg,
            transparent 0 8px,
            rgba(245,196,81,.42) 8px 12px,
            transparent 12px 20px
        );
    background-size: 100% 1px, 100% 8px;
    background-position: center, center;
    background-repeat: no-repeat;
}

.greek-divider span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(245,196,81,.45);
    border-radius: 50%;
    background: rgba(5,7,12,.78);
    box-shadow:
        0 0 22px rgba(245,196,81,.10),
        inset 0 1px rgba(255,255,255,.04);
    font-size: 14px;
}

/* =========================================================
   EFFET GRAVURE / RELIEF
   ========================================================= */

.story-banner,
.spotlight-card,
.lore-card,
.trophy-card,
.event-card,
.side-lore,
.archive-link {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-shadow:
        0 20px 52px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.035),
        inset 0 -1px 0 rgba(0,0,0,.72);
}

.story-banner::before,
.spotlight-card::before,
.lore-card::before,
.trophy-card::before,
.event-card::before,
.side-lore::before,
.archive-link::before::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(135deg, rgba(255,255,255,.025), transparent 30%),
        radial-gradient(circle at 18% 12%, rgba(245,196,81,.045), transparent 34%),
        repeating-linear-gradient(
            115deg,
            rgba(255,255,255,.012) 0 1px,
            transparent 1px 5px
        );
    pointer-events: none;
}

.spotlight-card,
.lore-card,
.trophy-card {
    border-color: rgba(245,196,81,.24);
}

.spotlight-card strong,
.lore-card h3,
.trophy-card strong {
    text-shadow:
        0 1px 0 rgba(255,255,255,.08),
        0 2px 0 rgba(0,0,0,.72),
        0 0 18px rgba(245,196,81,.08);
}

/* Petits coins gravés */
.engraved-corners::after::after {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(245,196,81,.08);
    clip-path: polygon(
        0 0, 24px 0, 24px 1px, 1px 1px, 1px 24px, 0 24px,
        0 100%, 24px 100%, 24px calc(100% - 1px), 1px calc(100% - 1px), 1px calc(100% - 24px), 0 calc(100% - 24px),
        100% 100%, calc(100% - 24px) 100%, calc(100% - 24px) calc(100% - 1px), calc(100% - 1px) calc(100% - 1px), calc(100% - 1px) calc(100% - 24px), 100% calc(100% - 24px),
        100% 0, calc(100% - 24px) 0, calc(100% - 24px) 1px, calc(100% - 1px) 1px, calc(100% - 1px) 24px, 100% 24px
    );
    pointer-events: none;
}

.hall-decree {
    display: block;
    margin-top: 28px;

    text-decoration: none;

    background: transparent;
    border: 0;
    box-shadow: none;

    transition:
        transform .22s ease,
        filter .22s ease;
}

.hall-decree:hover {
    transform: translateY(-3px);
    filter:
        brightness(1.08)
        drop-shadow(0 0 18px rgba(245, 196, 81, .20));
}

.hall-decree__plaque {
    width: 100%;
}

.hall-decree__plaque img {
    display: block;

    width: 100%;
    height: auto;

    object-fit: contain;

    filter:
        drop-shadow(0 16px 28px rgba(0, 0, 0, .50));
}




.mobile-menu-toggle{display:none;width:44px;height:44px;padding:0;border:1px solid rgba(245,196,81,.32);border-radius:10px;color:var(--gold);background:rgba(245,196,81,.07);cursor:pointer;place-items:center;position:relative;flex:0 0 44px}
.mobile-menu-toggle span{position:absolute;width:20px;height:2px;border-radius:999px;background:currentColor;transition:.22s}
.mobile-menu-toggle span:nth-child(1){top:14px}.mobile-menu-toggle span:nth-child(2){top:21px}.mobile-menu-toggle span:nth-child(3){top:28px}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}
.mobile-nav-panel{display:none}
body.menu-open{overflow:hidden}

@media (max-width:1250px){
.site-header__inner{width:min(1180px,calc(100% - 32px));gap:24px}
.main-nav{gap:18px}.main-nav a{font-size:10px;letter-spacing:.045em}.classic-button{padding-inline:11px}
.hero__layout{grid-template-columns:minmax(0,1fr) 330px;gap:54px}
}

@media (max-width:980px){
body::before{background-position:center top}
.site-shell{width:min(100%,980px);border-left:0;border-right:0;box-shadow:none;background:rgba(5,7,12,.64)}
.site-header__inner{width:min(100% - 28px,940px);min-height:70px;display:flex;justify-content:space-between;gap:16px}
.main-nav,.classic-button{display:none}
.mobile-menu-toggle{display:grid}
.mobile-nav-panel{position:fixed;inset:70px 0 auto 0;z-index:490;display:grid;max-height:calc(100vh - 70px);overflow-y:auto;padding:18px;border-top:1px solid rgba(245,196,81,.18);border-bottom:1px solid rgba(245,196,81,.22);background:linear-gradient(180deg,rgba(8,10,15,.99),rgba(4,6,10,.98));box-shadow:0 24px 50px rgba(0,0,0,.58);transform:translateY(-120%);opacity:0;visibility:hidden;pointer-events:none;transition:.25s}
.mobile-nav-panel.is-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
.mobile-nav-panel nav{display:grid;gap:8px;width:min(100%,620px);margin:0 auto}
.mobile-nav-panel a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#d5dae2;background:rgba(255,255,255,.025);text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.mobile-nav-panel a:hover,.mobile-nav-panel a.is-active{color:var(--gold);border-color:rgba(245,196,81,.34);background:rgba(245,196,81,.07)}
.mobile-nav-panel .mobile-hlstats{margin-top:8px;color:#16120a;border-color:rgba(245,196,81,.72);background:linear-gradient(180deg,#ffd978,var(--gold))}
.hero__layout{grid-template-columns:1fr;gap:30px}.hero__right{align-items:flex-start}.hero__right .hero__actions,.hero__right .status-list{width:100%;max-width:none}
.spotlight-card{grid-column:span 12}.lore-grid{grid-template-columns:1fr}.trophy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.section--split{grid-template-columns:1fr}.archive-link{align-items:flex-start;flex-direction:column}
.hero-podium{grid-template-columns:1fr;align-items:stretch}.hero-entry--first,.hero-entry--second,.hero-entry--third{min-height:220px}.hero-entry--first{order:-1}.hero-list{grid-template-columns:1fr}
}

@media (max-width:720px){
body::before{background-image:linear-gradient(rgba(3,5,10,.76),rgba(3,5,10,.82)),url("../images/background-temple1.png");background-position:center top}
.site-shell{width:100%;background:rgba(5,7,12,.74);backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header__inner{width:calc(100% - 24px);min-height:66px}
.mobile-nav-panel{inset:66px 0 auto 0;max-height:calc(100vh - 66px)}
.hero__content{margin-top:-48px;padding:86px 0 34px}.hero h1{font-size:clamp(42px,14vw,70px)}.hero__lead{font-size:16px}
.hero__right .status-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.story-banner{grid-template-columns:1fr}.section__header,.section__header--actions{display:block}.search-box{margin-top:14px}.search-box input{width:100%}
.quote-section{grid-template-columns:1fr}.quote-section__line{display:none}.quote-section span{grid-column:auto}
.trophy-grid{grid-template-columns:1fr}.event-card{grid-template-columns:54px 1fr}.event-card__knife{display:none}
}

@media (max-width:560px){
.hero__right .status-list{grid-template-columns:1fr}
.hero__actions{display:grid;grid-template-columns:1fr}.hero__actions .button{width:100%}
.hero-entry--first {
        min-height: 600px;
    }

    .hero-entry--first .hero-entry__body {
        padding: 350px 18px 24px;
    }
}

@media (max-width: 1100px) {
    .pantheon-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .pantheon-grid {
        grid-template-columns: 1fr;
    }

    .pantheon-card {
        min-height: 205px;
    }

    .pantheon-card__main {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .pantheon-card__icon {
        width: 64px;
        height: 78px;
    }

    .pantheon-card__name {
        font-size: 25px;
    }
}
@media (max-width: 720px) {
    .blade-code__item {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 14px;

        padding-inline: 15px;
    }

    .blade-code__number {
        width: 42px;
        height: 42px;
    }

}   



@media (max-width: 900px) {
    .hero-podium {
        grid-template-columns: 1fr;
    }

    .hero-entry--first {
        order: -1;
        min-height: 720px;
        background-size: cover;
        background-position: center top;
    }

    .hero-entry--first .hero-entry__body {
        padding-top: 440px;
    }

    .hero-entry--second,
    .hero-entry--third {
        min-height: 340px;
    }
}

@media (max-width: 620px) {
    .hero-row {
        grid-template-columns: 44px 46px minmax(0,1fr);
    }

    .hero-row__cuts {
        grid-column: 3;
        text-align: left;
    }
}

/* =========================================================
   HALL OF BLADE — RESPONSIVE FINAL
   ========================================================= */

@media (max-width: 900px) {
    .hero-podium {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .hero-entry--first {
        order: -1;
        min-height: 720px;
    }

    .hero-entry--second,
    .hero-entry--third {
        min-height: 560px;
    }

    .hero-entry--first .hero-entry__body {
        padding-top: 440px;
    }

    .hero-entry--second .hero-entry__body,
    .hero-entry--third .hero-entry__body {
        padding-top: 330px;
    }
}

@media (max-width: 620px) {
    .hero-entry--first {
        min-height: 610px;
    }

    .hero-entry--second,
    .hero-entry--third {
        min-height: 500px;
    }

    .hero-entry--first .hero-entry__body {
        padding: 350px 18px 24px;
    }

    .hero-entry--second .hero-entry__body,
    .hero-entry--third .hero-entry__body {
        padding: 285px 18px 24px;
    }

    .hero-entry__rank {
        width: 56px;
        height: 56px;
    }

    .hero-row {
        grid-template-columns: 44px 46px minmax(0,1fr);
    }

    .hero-row__cuts {
        grid-column: 3;
        text-align: left;
    }
}

/* =========================================================
   HALL OF BLADE — LIGNES RESPONSIVE
   ========================================================= */

@media (max-width: 620px) {
    .hero-list {
        gap: 12px;
    }

    .hero-row {
        grid-template-columns: 42px 78px minmax(0, 1fr);
        grid-template-areas:
            "rank icon identity"
            "rank icon cuts";

        column-gap: 12px;
        row-gap: 8px;

        min-height: 145px;
        padding: 14px;

        align-items: center;
    }

    .hero-row__rank {
        grid-area: rank;

        width: 38px;
        height: 38px;

        align-self: center;
    }

    .hero-row__icon {
        grid-area: icon;

        width: 78px;
        height: 110px;

        display: flex;
        align-items: center;
        justify-content: center;
    }

    .hero-row__icon img {
        width: 76px;
        height: 108px;

        object-fit: contain;
    }

    .hero-row__identity {
        grid-area: identity;

        align-self: end;
        min-width: 0;
    }

    .hero-row__name {
        font-size: 17px;
        line-height: 1.15;

        overflow-wrap: anywhere;
    }

    .hero-row__trophy,
    .hero-row__identity span {
        margin-top: 6px;

        color: var(--muted);
        font-size: 12px;
        line-height: 1.35;
    }

    .hero-row__cuts {
        grid-area: cuts;

        min-width: 0;
        align-self: start;

        text-align: left;
    }

    .hero-row__cuts strong {
        display: inline;

        font-size: 23px;
    }

    .hero-row__cuts span {
        display: inline;
        margin-left: 6px;

        font-size: 9px;
    }
}



/* =========================================================
   PLAYER.PHP — STÈLE DU GUERRIER
   À ajouter à la fin de assets/css/style.css
   ========================================================= */

.player-page {
    padding-top: 34px;
}

.player-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--muted);
    font-size: 12px;
}

.player-breadcrumb a {
    color: var(--gold);
    text-decoration: none;
}

.player-breadcrumb strong {
    color: #eef1f5;
}

.player-monument {
    position: relative;
    min-height: 430px;
    display: grid;
    grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr);
    gap: 42px;
    align-items: center;
    overflow: hidden;
    padding: 38px 42px;
    border: 1px solid rgba(245,196,81,.52);
    border-radius: 14px;
    background:
        radial-gradient(circle at 16% 50%, rgba(245,196,81,.16), transparent 27%),
        linear-gradient(145deg, rgba(245,196,81,.075), transparent 45%),
        rgba(7,10,15,.91);
    box-shadow:
        0 34px 90px rgba(0,0,0,.53),
        inset 0 1px rgba(255,255,255,.045);
}

.player-monument::after {
    content: "";
    position: absolute;
    inset: 9px;
    border: 1px solid rgba(245,196,81,.10);
    border-radius: 9px;
    pointer-events: none;
}

.player-monument__glow {
    position: absolute;
    width: 430px;
    height: 430px;
    left: -90px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(245,196,81,.15), transparent 68%);
    filter: blur(10px);
}

.player-monument__emblem,
.player-monument__identity,
.player-monument__seal {
    position: relative;
    z-index: 2;
}

.player-monument__emblem {
    display: flex;
    align-items: center;
    justify-content: center;
}

.player-monument__emblem img {
    display: block;
    width: min(270px, 100%);
    max-height: 350px;
    object-fit: contain;
    filter:
        drop-shadow(0 22px 35px rgba(0,0,0,.58))
        drop-shadow(0 0 25px rgba(245,196,81,.18));
}

.player-monument__identity h1 {
    max-width: 740px;
    margin: 10px 0 0;
    color: var(--gold);
    font-size: clamp(42px, 6vw, 78px);
    line-height: .92;
    text-transform: uppercase;
    overflow-wrap: anywhere;
    text-shadow: 0 5px 30px rgba(0,0,0,.78);
}

.player-monument__honor {
    margin: 14px 0 0;
    color: #dce2ea;
    font-family: Georgia, serif;
    font-size: clamp(18px, 2vw, 24px);
    font-style: italic;
}

.player-monument__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.player-monument__badges span {
    padding: 8px 11px;
    border: 1px solid rgba(245,196,81,.28);
    border-radius: 999px;
    color: #e5e9ef;
    background: rgba(5,7,12,.63);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.player-monument blockquote {
    max-width: 720px;
    margin: 26px 0 0;
    padding-top: 20px;
    border-top: 1px solid rgba(245,196,81,.20);
    color: #d7d0c4;
    font-family: Georgia, serif;
    font-size: clamp(17px, 2vw, 22px);
    font-style: italic;
    line-height: 1.55;
}

.player-monument__seal {
    position: absolute;
    right: 24px;
    bottom: 20px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--gold);
    font-family: Georgia, serif;
    font-size: 12px;
    font-style: italic;
}

.player-monument__seal img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.player-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
    margin-top: 16px;
}

.player-stat-card {
    min-height: 145px;
    padding: 20px;
    border: 1px solid rgba(245,196,81,.21);
    border-radius: 10px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.025), transparent 45%),
        rgba(8,11,17,.86);
    box-shadow: 0 18px 42px rgba(0,0,0,.31);
}

.player-stat-card > span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.player-stat-card strong {
    display: block;
    margin-top: 12px;
    color: var(--gold);
    font-size: clamp(24px, 3vw, 37px);
    line-height: 1;
    overflow-wrap: anywhere;
}

.player-stat-card small {
    display: block;
    margin-top: 12px;
    color: #aeb7c4;
    line-height: 1.45;
}

.player-stat-card--blood {
    border-color: rgba(207,63,63,.38);
}

.player-stat-card--blood strong {
    color: #c94d4d;
}

.player-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: end;
    margin-bottom: 18px;
}

.player-section-heading h2,
.player-panel__heading h2 {
    margin: 5px 0 0;
    color: var(--gold);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1;
    text-transform: uppercase;
}

.player-section-heading p {
    margin: 9px 0 0;
    color: var(--muted);
}

.player-progress-section,
.player-trophies-section,
.player-history-section {
    margin-top: 48px;
}

.player-progress-section__next {
    display: flex;
    align-items: center;
    gap: 12px;
}

.player-progress-section__next img {
    width: 68px;
    height: 82px;
    object-fit: contain;
}

.player-progress-section__next small,
.player-progress-section__next strong {
    display: block;
}

.player-progress-section__next small {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.player-progress-section__next strong {
    margin-top: 4px;
    color: var(--gold);
}

.player-progress-card {
    display: grid;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
    gap: 36px;
    align-items: center;

    padding: 28px 30px;

    border: 1px solid rgba(245,196,81,.28);
    border-radius: 12px;

    background:
        radial-gradient(
            circle at 9% 50%,
            rgba(245,196,81,.10),
            transparent 22%
        ),
        rgba(8,11,17,.87);
}

.player-progress-card__current {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 16px;
    align-items: center;

    min-width: 0;
}

.player-progress-card__current img {
    width: 92px;
    height: 125px;
    object-fit: contain;
}

.player-progress-card__current > div {
    min-width: 0;
}

.player-progress-card__current span,
.player-progress-card__current strong {
    display: block;
}

.player-progress-card__current span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.player-progress-card__current strong {
    margin-top: 6px;

    color: var(--gold);

    font-size: clamp(17px, 1.8vw, 22px);
    line-height: 1.12;

    overflow-wrap: anywhere;
}

.player-progress-card__bar-area {
    min-width: 0;
}

.player-progress-card__numbers {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;

    margin-bottom: 10px;

    color: var(--muted);
    font-size: 12px;
}

.player-progress-card__numbers strong {
    color: var(--gold);
}

.player-progress-bar {
    width: 100%;
    height: 15px;

    overflow: hidden;

    border: 1px solid rgba(245,196,81,.25);
    border-radius: 999px;

    background: rgba(3,5,9,.84);

    box-shadow:
        inset 0 2px 8px rgba(0,0,0,.65);
}

.player-progress-card__bar-area p {
    margin: 14px 0 0;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.5;
}

.player-progress-card__bar-area p strong {
    color: var(--gold);
}

.player-profile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 18px;
}

.player-panel {
    min-height: 320px;
    padding: 25px;
    border: 1px solid rgba(245,196,81,.24);
    border-radius: 12px;
    background: rgba(8,11,17,.87);
}

.player-panel--blood {
    border-color: rgba(207,63,63,.30);
    background:
        radial-gradient(circle at 90% 10%, rgba(207,63,63,.09), transparent 35%),
        rgba(8,11,17,.88);
}

.player-summary-list {
    margin: 22px 0 0;
}

.player-summary-list div {
    display: grid;
    grid-template-columns: minmax(130px,.7fr) minmax(0,1.3fr);
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255,255,255,.065);
}

.player-summary-list div:last-child {
    border-bottom: 0;
}

.player-summary-list dt {
    color: var(--muted);
}

.player-summary-list dd {
    margin: 0;
    color: #eef1f5;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.player-duel-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 24px;
}

.player-duel-summary > div {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 9px;
    background: rgba(5,7,12,.52);
}

.player-duel-summary span,
.player-duel-summary strong {
    display: block;
}

.player-duel-summary span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.player-duel-summary strong {
    margin-top: 9px;
    color: #c94d4d;
    font-size: 34px;
}

.player-panel--blood > p {
    margin: 20px 0 0;
    color: var(--muted);
    line-height: 1.65;
}

.player-panel code {
    color: var(--gold);
}

.player-trophy-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 12px;
}

.player-trophy-card {
    min-width: 0;
    display: grid;
    grid-template-columns: 86px minmax(0,1fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(245,196,81,.20);
    border-radius: 10px;
    background: rgba(8,11,17,.84);
    transition: transform .2s ease, border-color .2s ease;
}

.player-trophy-card:hover {
    transform: translateY(-4px);
    border-color: rgba(245,196,81,.52);
}

.player-trophy-card img {
    width: 84px;
    height: 112px;
    object-fit: contain;
    filter: drop-shadow(0 9px 16px rgba(0,0,0,.45));
}

.player-trophy-card strong,
.player-trophy-card span {
    display: block;
}

.player-trophy-card strong {
    color: var(--gold);
    font-size: 14px;
    line-height: 1.2;
    text-transform: uppercase;
}

.player-trophy-card span {
    margin-top: 7px;
    color: var(--muted);
    font-size: 11px;
}

.player-history-list {
    display: grid;
    gap: 11px;
}

.player-history-event {
    display: grid;
    grid-template-columns: 76px minmax(0,1fr) auto;
    gap: 15px;
    align-items: center;
    min-height: 100px;
    padding: 14px 18px;
    border: 1px solid rgba(245,196,81,.20);
    border-radius: 10px;
    background: rgba(8,11,17,.86);
}

.player-history-event.is-defeat {
    border-color: rgba(207,63,63,.31);
}

.player-history-event__icon {
    width: 66px;
    height: 75px;
}

.player-history-event__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.player-history-event__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.player-history-event__meta time {
    color: var(--gold);
    font-weight: 900;
}

.player-history-event__meta span {
    padding: 4px 8px;
    border-radius: 999px;
    color: var(--muted);
    background: rgba(255,255,255,.04);
    font-size: 10px;
}

.player-history-event p {
    margin: 9px 0 0;
    color: #dbe1e9;
}

.player-history-event strong {
    color: var(--gold);
}

.player-history-event em {
    color: #c94d4d;
    font-style: normal;
    font-weight: 900;
}

.player-history-event__verdict {
    padding: 7px 10px;
    border: 1px solid rgba(245,196,81,.23);
    border-radius: 999px;
    color: var(--gold);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.player-history-event.is-defeat .player-history-event__verdict {
    border-color: rgba(207,63,63,.30);
    color: #d86666;
}

.player-empty-inline,
.player-empty {
    padding: 28px;
    border: 1px dashed rgba(245,196,81,.28);
    border-radius: 11px;
    color: var(--muted);
    text-align: center;
    background: rgba(8,11,17,.78);
}

.player-empty {
    max-width: 760px;
    margin: 70px auto;
}

.player-empty img {
    width: 130px;
    height: 130px;
    object-fit: contain;
}

.player-empty h1 {
    margin: 10px 0;
    color: var(--gold);
    text-transform: uppercase;
}

.player-final-decree {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 48px;
    padding: 35px 20px;
    border-top: 1px solid rgba(245,196,81,.27);
    border-bottom: 1px solid rgba(245,196,81,.27);
    text-align: center;
}

.player-final-decree img {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.player-final-decree p {
    max-width: 800px;
    margin: 0;
    color: #ece7de;
    font-family: Georgia, serif;
    font-size: clamp(20px, 3vw, 31px);
    font-style: italic;
}

.player-final-decree a {
    color: var(--gold);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    .player-monument {
        grid-template-columns: 210px minmax(0,1fr);
        gap: 25px;
        padding: 30px;
    }

    .player-monument__seal {
        display: none;
    }

    .player-stat-grid,
    .player-trophy-gallery {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

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

@media (max-width: 720px) {
    .player-page {
        padding-top: 20px;
    }

    .player-monument {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 24px 18px 30px;
        text-align: center;
    }

    .player-monument__emblem img {
        width: 180px;
        max-height: 235px;
    }

    .player-monument__identity h1 {
        font-size: clamp(36px, 12vw, 58px);
    }

    .player-monument__badges {
        justify-content: center;
    }

    .player-monument blockquote {
        margin-inline: auto;
    }

    .player-stat-grid {
        grid-template-columns: 1fr 1fr;
    }

    .player-section-heading {
        display: block;
    }

    .player-progress-section__next {
        margin-top: 15px;
    }

    .player-progress-card {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .player-progress-card__current {
        justify-content: center;
    }

    .player-trophy-card {
        grid-template-columns: 70px minmax(0,1fr);
    }

    .player-trophy-card img {
        width: 68px;
        height: 96px;
    }
}

@media (max-width: 520px) {
    .player-stat-grid,
    .player-trophy-gallery {
        grid-template-columns: 1fr;
    }

    .player-summary-list div {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .player-duel-summary {
        grid-template-columns: 1fr 1fr;
    }

    .player-history-event {
        grid-template-columns: 58px minmax(0,1fr);
        padding: 12px;
    }

    .player-history-event__icon {
        width: 52px;
        height: 62px;
    }

    .player-history-event__verdict {
        grid-column: 2;
        justify-self: start;
    }
}

.search-box {
    position: relative;
}

.player-search-results {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 50;

    width: min(360px, 90vw);
    max-height: 320px;
    overflow-y: auto;

    padding: 6px;

    border: 1px solid rgba(245, 196, 81, .35);
    border-radius: 10px;

    background: rgba(6, 9, 14, .98);

    box-shadow:
        0 24px 60px rgba(0, 0, 0, .62),
        0 0 22px rgba(245, 196, 81, .08);
}

.player-search-results a {
    display: block;
    padding: 11px 12px;

    border-radius: 7px;

    color: var(--text);
    text-decoration: none;

    transition:
        background .18s ease,
        transform .18s ease;
}
.player-search-results a[hidden] {
    display: none !important;
}
.player-search-results[hidden] {
    display: none !important;
}

.player-search-results a:hover {
    transform: translateX(3px);
    background: rgba(245, 196, 81, .08);
}

.player-search-results strong,
.player-search-results small {
    display: block;
}

.player-search-results strong {
    color: var(--gold);
    font-size: 14px;
    text-transform: uppercase;
}

.player-search-results small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
}

/* =========================================================
   PAGE JOUEURS — PORTAIL DE RECHERCHE
   ========================================================= */

.players-page {
    min-height: calc(100vh - 150px);

    display: grid;
    align-items: center;

    padding-block: 70px 110px;
}

.players-directory {
    position: relative;

    width: min(820px, 100%);
    margin-inline: auto;
    padding: 54px 44px;

    overflow: visible;

    border: 1px solid rgba(245, 196, 81, .36);
    border-radius: 14px;

    text-align: center;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(245, 196, 81, .13),
            transparent 37%
        ),
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .028),
            transparent 48%
        ),
        rgba(7, 10, 15, .93);

    box-shadow:
        0 36px 94px rgba(0, 0, 0, .56),
        0 0 36px rgba(245, 196, 81, .045),
        inset 0 1px rgba(255, 255, 255, .04);
}

.players-directory::after {
    content: "";

    position: absolute;
    inset: 8px;

    border: 1px solid rgba(245, 196, 81, .08);
    border-radius: 10px;

    pointer-events: none;
}

.players-directory__medallion {
    position: relative;
    z-index: 2;

    width: 116px;
    height: 116px;

    margin: 0 auto 16px;
}

.players-directory__medallion img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    filter:
        drop-shadow(0 18px 30px rgba(0, 0, 0, .55))
        drop-shadow(0 0 18px rgba(245, 196, 81, .20));
}

.players-directory h1 {
    position: relative;
    z-index: 2;

    margin: 9px 0 0;

    color: var(--gold);

    font-size: clamp(38px, 6vw, 66px);
    font-weight: 1000;
    line-height: .95;

    text-transform: uppercase;

    text-shadow:
        0 3px 0 rgba(0, 0, 0, .70),
        0 0 30px rgba(245, 196, 81, .10);
}

.players-directory__lead {
    position: relative;
    z-index: 2;

    max-width: 650px;
    margin: 20px auto 0;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.72;
}

.players-directory__search {
    position: relative;
    z-index: 10;

    width: min(620px, 100%);
    margin: 38px auto 0;

    text-align: left;
}

.players-directory__search > label {
    display: block;

    margin-bottom: 9px;

    color: var(--gold);

    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;

    text-transform: uppercase;
}

.players-directory__search > input {
    width: 100%;
    min-height: 60px;

    padding: 0 19px;

    border: 1px solid rgba(245, 196, 81, .38);
    border-radius: 10px;
    outline: none;

    color: var(--text);
    background: rgba(4, 6, 10, .91);

    font-size: 16px;

    box-shadow:
        inset 0 1px rgba(255, 255, 255, .035),
        0 16px 38px rgba(0, 0, 0, .34);

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

.players-directory__search > input:focus {
    border-color: rgba(245, 196, 81, .82);

    box-shadow:
        0 0 0 3px rgba(245, 196, 81, .075),
        0 20px 46px rgba(0, 0, 0, .42);
}

.players-directory__results {
    display: grid;
    gap: 7px;

    max-height: 430px;
    margin-top: 10px;
    padding: 7px;

    overflow-y: auto;

    border: 1px solid rgba(245, 196, 81, .30);
    border-radius: 10px;

    background: rgba(5, 8, 13, .985);

    box-shadow:
        0 30px 70px rgba(0, 0, 0, .65),
        0 0 26px rgba(245, 196, 81, .06);
}

.players-directory__results[hidden],
.players-directory__results a[hidden] {
    display: none !important;
}

.players-directory__results a {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;

    min-height: 84px;
    padding: 9px 13px;

    border: 1px solid transparent;
    border-radius: 8px;

    color: inherit;
    text-decoration: none;

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

.players-directory__results a:hover {
    transform: translateX(5px);

    border-color: rgba(245, 196, 81, .32);
    background: rgba(245, 196, 81, .06);
}

.players-directory__result-image {
    width: 62px;
    height: 68px;

    display: grid;
    place-items: center;
}

.players-directory__result-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    filter:
        drop-shadow(0 9px 16px rgba(0, 0, 0, .52));
}

.players-directory__result-content {
    min-width: 0;
}

.players-directory__result-content strong,
.players-directory__result-content span,
.players-directory__result-content small {
    display: block;
}

.players-directory__result-content strong {
    overflow-wrap: anywhere;

    color: var(--gold);

    font-size: 17px;
    font-weight: 1000;

    text-transform: uppercase;
}

.players-directory__result-content span {
    margin-top: 5px;

    color: #eef1f5;

    font-size: 13px;
    font-weight: 900;
}

.players-directory__result-content small {
    margin-top: 4px;

    color: var(--muted);

    font-size: 11px;
}

.players-directory__result-arrow {
    color: var(--gold);

    font-family: Georgia, serif;
    font-size: 28px;
}

.players-directory__empty {
    margin-top: 11px;
    padding: 17px;

    border: 1px dashed rgba(245, 196, 81, .30);
    border-radius: 9px;

    color: var(--muted);
    background: rgba(5, 7, 12, .63);

    text-align: center;
}

.players-directory__empty[hidden] {
    display: none !important;
}

.players-directory__hint {
    position: relative;
    z-index: 2;

    margin: 16px 0 0;

    color: #797f89;

    font-size: 11px;
    letter-spacing: .05em;
}

@media (max-width: 620px) {
    .players-page {
        min-height: auto;
        padding-block: 38px 70px;
    }

    .players-directory {
        padding: 38px 17px;
    }

    .players-directory__medallion {
        width: 88px;
        height: 88px;
    }

    .players-directory__lead {
        font-size: 15px;
    }

    .players-directory__results a {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 10px;

        min-height: 76px;
        padding-inline: 9px;
    }

    .players-directory__result-image {
        width: 52px;
        height: 58px;
    }

    .players-directory__result-arrow {
        display: none;
    }

    .players-directory__result-content strong {
        font-size: 15px;
    }
}

/* =========================================================
   CORRECTION DÉFINITIVE TROPHÉES MOBILE
   ========================================================= */

@media (max-width: 600px) {
    .rank-path {
        position: relative;

        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;

        width: 100%;
        padding-left: 0;
        margin-left: 0;
    }

    .rank-path::before {
        content: none;
        display: none;
    }

    .rank-stone,
    .rank-stone--immortal {
        position: relative;

        display: flex;
        flex-direction: column;

        grid-column: auto;

        width: 100%;
        min-width: 0;
        min-height: 0;

        gap: 0;
        padding: 14px 15px 18px;
        margin: 0;

        align-items: stretch;
    }

    .rank-stone__top {
        width: 100%;
        min-height: 30px;

        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .rank-stone__marker,
    .rank-stone--immortal .rank-stone__marker {
        position: static;

        width: 30px;
        height: 30px;

        display: grid;
        place-items: center;

        flex: 0 0 30px;

        transform: none;
        inset: auto;
        margin: 0;
    }

    .rank-stone__step {
        min-width: 0;

        text-align: right;
        white-space: nowrap;
    }

    .rank-stone__emblem,
    .rank-stone--immortal .rank-stone__emblem {
        width: 100%;
        height: 155px;

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

        margin: 5px 0 0;
    }

    .rank-stone__emblem img,
    .rank-stone--immortal .rank-stone__emblem img {
        width: 135px;
        max-width: 100%;
        height: 155px;

        object-fit: contain;
    }

    .rank-stone__content {
        display: block;

        width: 100%;
        min-width: 0;

        text-align: center;
    }

    .rank-stone__content h3,
    .rank-stone--immortal .rank-stone__content h3 {
        width: 100%;
        margin: 6px 0 0;

        font-size: clamp(20px, 6vw, 24px);
        line-height: 1.08;

        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }

    .rank-stone__content strong {
        margin-top: 8px;

        font-size: 11px;
        line-height: 1.3;
    }

    .rank-stone__content p {
        width: 100%;
        max-width: 340px;

        margin: 11px auto 0;

        font-size: 13px;
        line-height: 1.5;
    }
}