:root{
    color-scheme:dark;
    --home-bg:#0b0706;
    --home-panel:#17100d;
    --home-panel-soft:#201611;
    --home-gold:#d9ae5f;
    --home-gold-bright:#f2d38d;
    --home-purple:#8d54d6;
    --home-text:#f3e7cc;
    --home-muted:#a99c87;
    --home-line:rgba(225,190,107,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    min-height:100vh;
    overflow-x:hidden;
    color:var(--home-text);
    background:
        radial-gradient(circle at 78% 8%,rgba(136,81,188,.08),transparent 23%),
        radial-gradient(circle at 18% 18%,rgba(207,144,59,.07),transparent 25%),
        linear-gradient(180deg,#100a07 0,#0b0706 48%,#080504 100%);
    font-family:Georgia,"Times New Roman",serif;
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{display:block;max-width:100%}

.fond-ambiant{
    position:fixed;
    inset:0;
    z-index:-5;
    overflow:hidden;
    pointer-events:none;
}
.halo{
    position:absolute;
    border-radius:50%;
    filter:blur(70px);
}
.halo-principal{
    width:min(980px,86vw);
    height:520px;
    left:48%;
    top:-250px;
    transform:translateX(-50%);
    background:radial-gradient(circle,rgba(215,155,72,.18),transparent 68%);
}
.halo-violet{
    width:580px;
    height:580px;
    right:-240px;
    top:250px;
    background:radial-gradient(circle,rgba(119,62,174,.13),transparent 68%);
}
.braise{
    position:absolute;
    bottom:-12px;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#ffbd68;
    box-shadow:0 0 12px rgba(255,147,74,.75);
    animation:braise var(--d) linear infinite;
    animation-delay:var(--delay);
}

.home-header{
    position:relative;
    z-index:50;
    width:100%;
    border-bottom:1px solid rgba(230,197,122,.08);
    background:linear-gradient(180deg,rgba(13,8,6,.88),rgba(13,8,6,.58));
    backdrop-filter:blur(14px);
}
.home-header-inner{
    width:min(1240px,calc(100% - 36px));
    min-height:78px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.home-brand{
    display:flex;
    align-items:center;
    width:min(275px,38vw);
}
.home-brand img{
    width:100%;
    max-height:66px;
    object-fit:contain;
    object-position:left center;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.42));
}
.home-nav{
    display:flex;
    align-items:center;
    gap:26px;
    color:#c8baa0;
    font-size:.78rem;
    letter-spacing:.04em;
}
.home-nav>a:not(.home-nav-play){
    transition:color .18s ease;
}
.home-nav>a:not(.home-nav-play):hover{
    color:var(--home-gold-bright);
}
.home-nav-play{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:39px;
    padding:0 17px;
    border:1px solid rgba(239,207,133,.42);
    border-radius:8px;
    color:#24170d;
    background:linear-gradient(180deg,#f2d38d,#bd8b39);
    font-weight:700;
    box-shadow:0 8px 22px rgba(0,0,0,.26);
}

.home-main{
    width:min(1240px,calc(100% - 36px));
    margin:0 auto;
}
.home-hero{
    min-height:610px;
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
    gap:48px;
    align-items:center;
    padding:72px 0 76px;
}
.home-hero-copy{
    position:relative;
    z-index:2;
}
.home-eyebrow{
    margin:0;
    color:var(--home-gold);
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.24em;
    text-transform:uppercase;
}
.home-hero h1{
    max-width:780px;
    margin:14px 0 0;
    color:var(--home-gold-bright);
    font-size:clamp(3.5rem,6.8vw,6.7rem);
    line-height:.88;
    letter-spacing:-.035em;
    text-wrap:balance;
    text-shadow:0 12px 42px rgba(0,0,0,.38);
}
.home-lead{
    max-width:710px;
    margin:26px 0 0;
    color:var(--home-muted);
    font-size:1.08rem;
    line-height:1.75;
}
.home-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:31px;
}
.home-btn{
    position:relative;
    display:flex;
    min-width:205px;
    min-height:59px;
    padding:10px 20px;
    border:1px solid transparent;
    border-radius:10px;
    flex-direction:column;
    justify-content:center;
    gap:2px;
    transition:transform .18s ease,filter .18s ease,border-color .18s ease;
}
.home-btn:hover{
    transform:translateY(-2px);
}
.home-btn span{
    font-size:.95rem;
    font-weight:700;
}
.home-btn small{
    font-family:Arial,sans-serif;
    font-size:.58rem;
    letter-spacing:.10em;
    text-transform:uppercase;
    opacity:.7;
}
.home-btn-primary{
    color:#24160b;
    background:linear-gradient(180deg,#f4db9c 0,#d2a451 52%,#93662a 100%);
    box-shadow:
        inset 0 1px rgba(255,255,255,.48),
        0 12px 26px rgba(0,0,0,.34),
        0 0 28px rgba(208,158,68,.10);
}
.home-btn-secondary{
    color:#ded1b8;
    border-color:rgba(224,190,109,.20);
    background:linear-gradient(180deg,rgba(44,29,23,.78),rgba(22,15,13,.82));
}
.home-access-note{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:22px;
    color:#857a6b;
    font-family:Arial,sans-serif;
    font-size:.68rem;
}
.home-live-dot{
    width:7px;
    height:7px;
    border-radius:50%;
}
.home-live-dot.online{
    background:#74c48a;
    box-shadow:0 0 10px rgba(84,194,113,.50);
}
.home-live-dot.offline{
    background:#c46868;
    box-shadow:0 0 10px rgba(194,82,82,.44);
}

.home-hero-art{
    position:relative;
    min-height:530px;
    display:grid;
    place-items:center;
}
.home-hero-art::before{
    content:"";
    position:absolute;
    width:88%;
    height:74%;
    border-radius:50%;
    background:
        radial-gradient(circle at 50% 45%,rgba(143,77,211,.17),rgba(90,46,141,.05) 40%,transparent 68%);
    filter:blur(22px);
}
.home-card-stage{
    position:relative;
    width:min(480px,92%);
    aspect-ratio:1/1;
    display:grid;
    place-items:center;
}
.home-card-glow{
    position:absolute;
    inset:17%;
    border-radius:50%;
    background:radial-gradient(circle,rgba(162,90,230,.20),transparent 67%);
    filter:blur(24px);
}
.home-card-stage img{
    position:absolute;
    object-fit:contain;
    filter:drop-shadow(0 24px 35px rgba(0,0,0,.54));
    will-change:transform;
}
.home-card-back{
    width:57%;
    transform:translate(-78px,18px) rotate(-13deg);
    opacity:.86;
}
.home-card-frame{
    width:56%;
    transform:translate(74px,40px) rotate(13deg);
    opacity:.88;
}
.home-card-featured{
    width:61%;
    transform:translate(4px,-28px) rotate(2.5deg);
    z-index:3;
}
.home-shard{
    position:absolute;
    z-index:5;
    width:8px;
    height:30px;
    background:linear-gradient(180deg,#d9a7ff,#6c31b5);
    clip-path:polygon(50% 0,100% 28%,72% 100%,16% 79%,0 24%);
    box-shadow:0 0 18px rgba(147,77,215,.52);
}
.home-shard-one{right:13%;top:22%;transform:rotate(17deg)}
.home-shard-two{left:14%;bottom:26%;transform:rotate(-24deg) scale(.75)}
.home-shard-three{right:24%;bottom:12%;transform:rotate(38deg) scale(.55)}

.home-section{
    padding:86px 0;
    border-top:1px solid rgba(225,190,107,.09);
}
.home-section-heading{
    max-width:760px;
    margin-bottom:30px;
}
.home-section-heading h2,
.home-lore h2,
.home-final-cta h2{
    margin:8px 0 0;
    color:#ead29c;
    font-size:clamp(2.2rem,4.7vw,4.4rem);
    line-height:1;
    letter-spacing:-.025em;
}
.home-section-heading>p:not(.home-eyebrow){
    margin:17px 0 0;
    color:var(--home-muted);
    font-size:1rem;
    line-height:1.7;
}
.home-mode-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.home-mode-card{
    min-height:220px;
    position:relative;
    display:grid;
    grid-template-columns:46px minmax(0,1fr) auto;
    gap:14px;
    align-items:start;
    padding:24px 22px;
    border:1px solid rgba(228,195,116,.12);
    border-radius:18px;
    background:
        linear-gradient(180deg,rgba(36,24,18,.80),rgba(18,13,11,.86));
    box-shadow:0 18px 42px rgba(0,0,0,.20);
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease;
}
.home-mode-card:hover{
    transform:translateY(-4px);
    border-color:rgba(235,202,126,.30);
    background:linear-gradient(180deg,rgba(46,30,21,.88),rgba(21,14,12,.92));
}
.home-mode-duel{
    background:
        radial-gradient(circle at 95% 4%,rgba(133,73,194,.10),transparent 35%),
        linear-gradient(180deg,rgba(36,24,18,.82),rgba(18,13,11,.88));
}
.home-mode-icon{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(225,191,111,.18);
    border-radius:11px;
    color:#e3c67f;
    background:rgba(255,255,255,.025);
    font-size:1.15rem;
}
.home-mode-card small{
    color:#856da0;
    font-family:Arial,sans-serif;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.18em;
}
.home-mode-card h3{
    margin:7px 0 0;
    color:#e5d2ab;
    font-size:1.35rem;
}
.home-mode-card p{
    margin:12px 0 0;
    color:#958976;
    font-size:.88rem;
    line-height:1.55;
}
.home-mode-arrow{
    color:#af8d4d;
    font-size:1.4rem;
    transition:transform .18s ease;
}
.home-mode-card:hover .home-mode-arrow{
    transform:translateX(4px);
}

.home-section-heading-row{
    max-width:none;
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:28px;
}
.home-roster-count{
    margin:0;
    display:flex;
    align-items:baseline;
    gap:7px;
    color:#827663;
    font-family:Arial,sans-serif;
}
.home-roster-count strong{
    color:#e2c77f;
    font-family:Georgia,"Times New Roman",serif;
    font-size:2rem;
}
.home-roster-count span{
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.09em;
}
.home-class-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
}
.home-class-card{
    min-height:224px;
    position:relative;
    padding:25px 21px 22px;
    overflow:hidden;
    border:1px solid rgba(229,196,119,.11);
    border-radius:17px;
    background:
        radial-gradient(circle at 100% 0,rgba(120,73,155,.07),transparent 35%),
        linear-gradient(160deg,rgba(34,23,18,.74),rgba(17,12,10,.84));
}
.home-class-card::after{
    content:"";
    position:absolute;
    left:20px;
    right:20px;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(213,170,83,.30),transparent);
}
.home-class-number{
    display:block;
    color:#6e5941;
    font-family:Arial,sans-serif;
    font-size:.55rem;
    font-weight:800;
    letter-spacing:.18em;
}
.home-class-card h3{
    margin:14px 0 0;
    color:#e8cf94;
    font-size:1.55rem;
}
.home-class-card p{
    margin:15px 0 0;
    color:#9b8f7c;
    font-size:.88rem;
    line-height:1.58;
}
.home-empty-roster{
    min-height:180px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:10px;
    border:1px solid rgba(229,196,119,.10);
    border-radius:18px;
    color:#8f826d;
    background:rgba(255,255,255,.015);
}
.home-empty-roster span{
    color:#8b54c6;
    font-size:1.3rem;
}
.home-empty-roster p{
    margin:0;
}

.home-lore{
    margin:12px 0 88px;
    display:grid;
    grid-template-columns:130px minmax(0,1fr) 270px;
    gap:34px;
    align-items:center;
    padding:38px 38px;
    border:1px solid rgba(229,196,119,.14);
    border-radius:24px;
    background:
        radial-gradient(circle at 0 50%,rgba(138,78,190,.09),transparent 30%),
        linear-gradient(130deg,rgba(35,23,18,.82),rgba(17,12,10,.90));
    box-shadow:0 26px 66px rgba(0,0,0,.28);
}
.home-lore-mark{
    width:118px;
    height:118px;
    display:grid;
    place-items:center;
    border:1px solid rgba(225,190,107,.13);
    border-radius:50%;
    background:rgba(255,255,255,.018);
}
.home-lore-mark img{
    width:74%;
    height:74%;
    object-fit:contain;
    filter:drop-shadow(0 8px 19px rgba(0,0,0,.45));
}
.home-lore-copy p:not(.home-eyebrow){
    margin:16px 0 0;
    max-width:720px;
    color:#9d907d;
    line-height:1.68;
}
.home-lore-meta{
    display:grid;
    gap:8px;
}
.home-lore-meta span{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-height:46px;
    padding:8px 12px;
    border-bottom:1px solid rgba(225,190,107,.08);
    color:#817663;
    font-family:Arial,sans-serif;
    font-size:.70rem;
    text-align:right;
}
.home-lore-meta strong{
    color:#d7bb76;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1rem;
}

.home-final-cta{
    margin:0 0 82px;
    padding:58px 24px 62px;
    text-align:center;
    border-top:1px solid rgba(225,190,107,.09);
    border-bottom:1px solid rgba(225,190,107,.09);
}
.home-final-cta>img{
    width:76px;
    height:76px;
    margin:0 auto 18px;
    object-fit:contain;
    opacity:.88;
}
.home-final-cta>p:not(.home-eyebrow){
    max-width:610px;
    margin:16px auto 0;
    color:#9e917d;
    line-height:1.65;
}
.home-btn-final{
    width:max-content;
    min-width:215px;
    margin:27px auto 0;
}

.home-footer{
    width:min(1240px,calc(100% - 36px));
    min-height:92px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    border-top:1px solid rgba(225,190,107,.09);
    color:#766b5c;
    font-family:Arial,sans-serif;
    font-size:.65rem;
}
.home-footer>div{
    display:flex;
    align-items:center;
    gap:16px;
}
.home-footer img{
    width:150px;
    max-height:45px;
    object-fit:contain;
    object-position:left center;
    opacity:.70;
}

@keyframes braise{
    0%{transform:translate3d(0,0,0) scale(.5);opacity:0}
    10%{opacity:.65}
    100%{transform:translate3d(var(--x),-80vh,0) scale(.1);opacity:0}
}

@media(max-width:1050px){
    .home-hero{
        grid-template-columns:minmax(0,1fr) 410px;
        gap:24px;
    }
    .home-mode-grid{
        grid-template-columns:1fr;
    }
    .home-mode-card{
        min-height:150px;
    }
    .home-class-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .home-lore{
        grid-template-columns:100px minmax(0,1fr);
    }
    .home-lore-meta{
        grid-column:1 / -1;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:780px){
    .home-header-inner,
    .home-main,
    .home-footer{
        width:min(100% - 24px,1240px);
    }
    .home-header-inner{
        min-height:66px;
    }
    .home-brand{
        width:190px;
    }
    .home-nav>a:not(.home-nav-play){
        display:none;
    }
    .home-hero{
        min-height:auto;
        grid-template-columns:1fr;
        padding:54px 0 46px;
    }
    .home-hero h1{
        font-size:clamp(3rem,14vw,5rem);
    }
    .home-lead{
        font-size:.98rem;
    }
    .home-hero-art{
        min-height:410px;
        order:2;
    }
    .home-card-stage{
        width:min(420px,96%);
    }
    .home-section{
        padding:64px 0;
    }
    .home-section-heading-row{
        align-items:start;
        flex-direction:column;
        gap:10px;
    }
    .home-lore{
        grid-template-columns:1fr;
        padding:30px 24px;
        text-align:center;
    }
    .home-lore-mark{
        margin:0 auto;
    }
    .home-lore-meta{
        grid-template-columns:1fr;
    }
    .home-lore-meta span{
        text-align:left;
    }
    .home-footer{
        padding:20px 0;
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:560px){
    .home-brand{
        width:165px;
    }
    .home-nav-play{
        min-height:36px;
        padding:0 14px;
        font-size:.75rem;
    }
    .home-hero{
        padding-top:42px;
    }
    .home-hero h1{
        font-size:clamp(2.8rem,15vw,4.3rem);
    }
    .home-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .home-btn{
        width:100%;
    }
    .home-hero-art{
        min-height:330px;
    }
    .home-card-stage{
        width:330px;
        max-width:100%;
    }
    .home-class-grid{
        grid-template-columns:1fr;
    }
    .home-class-card{
        min-height:auto;
    }
    .home-section-heading h2,
    .home-lore h2,
    .home-final-cta h2{
        font-size:clamp(2rem,11vw,3.1rem);
    }
    .home-mode-card{
        grid-template-columns:40px minmax(0,1fr);
        padding:20px 18px;
    }
    .home-mode-arrow{
        display:none;
    }
}

@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .braise{display:none}
    .home-mode-card,
    .home-btn{transition:none}
}

/* 0.0.43 — écran d'erreur / accès PRISM ID */
.prism-gate-page{
    min-height:100vh;
    margin:0;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 50% 25%,rgba(108,65,129,.24),transparent 34%),
        linear-gradient(145deg,#0d0808,#1a1012 55%,#090607);
    color:#e8deca;
}
.prism-gate{
    width:min(760px,calc(100vw - 34px));
    text-align:center;
}
.prism-gate-logo{
    width:min(390px,74vw);
    max-height:120px;
    object-fit:contain;
    margin-bottom:22px;
}
.prism-gate-card{
    padding:clamp(24px,5vw,44px);
    border:1px solid rgba(228,194,112,.27);
    border-radius:22px;
    background:linear-gradient(155deg,rgba(43,26,30,.94),rgba(17,11,11,.97));
    box-shadow:0 26px 90px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.04);
}
.prism-gate-kicker{
    color:#b995ce;
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.28em;
}
.prism-gate-card h1{
    margin:10px 0;
    color:#f0d28a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.8rem,5vw,3.1rem);
}
.prism-gate-card p{
    max-width:590px;
    margin:0 auto 22px;
    color:#b8aa95;
    line-height:1.6;
}
.prism-gate-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:10px;
}


/* 0.1.14 — portail de connexion/déconnexion membre */
.prism-gate-footnote{
    display:block;
    margin-top:18px;
    color:#817565;
    font-size:.67rem;
    line-height:1.45;
}
.prism-gate-card-logout{
    border-color:rgba(166,207,170,.24);
}
.prism-gate-card-logout .prism-gate-kicker{
    color:#9bc7a2;
}


/* 0.1.14 — accueil plus ivoire/or */
.home-header{border-bottom-color:rgba(245,219,162,.10)}
.home-nav{color:#dccdae}
.home-access-note,.home-lead{color:#c3b59a}
.home-btn-secondary{border-color:rgba(236,206,141,.24);background:linear-gradient(180deg,rgba(54,37,27,.84),rgba(20,14,11,.88));color:#efe1c1}
