/* RIFT — accueil (index.html). Préfixe home-. Jetons et composants : rift.css (ne pas dupliquer). */

/* ───────── Héros ───────── */
.home-hero .portal-track__flash,.home-hero .home-hud,.home-hero .home-cue{position:absolute}
.home-hero__inner{display:grid;justify-items:center;gap:var(--s-4);padding-top:var(--nav-h)}
.home-hero__title{margin:-.04em 0 -.02em;filter:drop-shadow(0 0 28px rgba(34,211,255,.35)) drop-shadow(0 0 70px rgba(241,63,240,.25))}
.home-hero__sub{max-width:44ch;margin-inline:auto;color:var(--text)}
.home-hero__cta{margin-top:var(--s-2)}
.home-hero__cta .btn{min-width:min(100%,260px)}
.home-meta{list-style:none;padding:0;margin-top:var(--s-3);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-2) var(--s-5);font-family:var(--f-mono);font-size:13px;color:var(--text-2)}
.home-meta li{display:inline-flex;align-items:center;gap:8px;min-height:32px}
.home-meta li+li::before{content:"";width:1px;height:14px;background:var(--line-2);margin-right:calc(var(--s-5) - 8px);order:-1}
.home-meta svg{width:16px;height:16px;color:var(--cyan)}
.home-meta b{color:var(--text);font-weight:700}
.home-meta a{text-decoration:none}
.home-meta a:hover b{color:var(--cyan)}
.home-meta .status{font-size:13px;color:var(--text-2)}
/* HUD : crochets d'angle + télémétrie (réelle) */
.home-hud{inset:calc(var(--nav-h) + 10px) var(--gutter) 22px;z-index:1;pointer-events:none;font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);
  background:
    linear-gradient(var(--cyan),var(--cyan)) 0 0/18px 1px,linear-gradient(var(--cyan),var(--cyan)) 0 0/1px 18px,
    linear-gradient(var(--cyan),var(--cyan)) 100% 0/18px 1px,linear-gradient(var(--cyan),var(--cyan)) 100% 0/1px 18px,
    linear-gradient(var(--pink),var(--pink)) 0 100%/18px 1px,linear-gradient(var(--pink),var(--pink)) 0 100%/1px 18px,
    linear-gradient(var(--pink),var(--pink)) 100% 100%/18px 1px,linear-gradient(var(--pink),var(--pink)) 100% 100%/1px 18px;
  background-repeat:no-repeat;opacity:calc(1 - var(--p,0)*3)}
.home-hud span{position:absolute;white-space:nowrap}
.home-hud b{color:var(--cyan);font-weight:400}
.home-hud__tl{left:28px;top:4px}.home-hud__tr{right:28px;top:4px}
.home-hud__bl{left:28px;bottom:2px}.home-hud__br{right:28px;bottom:2px}
@media (max-width:719px){.home-hud__tl,.home-hud__br{display:none}.home-hud__bl{left:24px}.home-hud__tr{right:24px}}
.home-cue{left:50%;bottom:42px;z-index:1;display:grid;justify-items:center;gap:10px;transform:translateX(-50%);font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-2);opacity:calc(1 - var(--p,0)*7);pointer-events:none;white-space:nowrap}
.home-cue i{width:1px;height:38px;background:linear-gradient(var(--cyan),transparent);transform-origin:top}
@media (max-height:700px){.home-cue{display:none}}

/* ───────── Bandeau ───────── */
.home-ticker{z-index:3}

/* ───────── Noyau : features ───────── */
.home-feats{display:grid;gap:clamp(56px,9vw,120px)}
.home-feat__media{width:100%}
.home-feat__media--tall{max-width:min(300px,78vw);justify-self:center;width:100%}
.home-feat__text{max-width:520px}
.home-feat__text h3{font-size:var(--fs-2);line-height:1.02}
.home-num{font-family:var(--f-mono);color:var(--cyan);margin-right:6px;letter-spacing:.1em}
.home-points{list-style:none;padding:0;gap:8px}
.home-par{position:absolute;inset:-7% 0;will-change:transform}
.home-par img{width:100%;height:100%;object-fit:cover}
@media (min-width:900px){
  .home-feat--tall{grid-template-columns:minmax(0,.7fr) 1fr}
  .home-feat__media--tall{max-width:320px}
}

/* ───────── Rifters ───────── */
.home-rifters{align-items:start}
.home-rifters__head{margin-bottom:0}
.js .home-rifters__seg{display:inline-flex}
.home-rifters__seg{display:none}
.home-rifters__deck{display:grid;gap:var(--s-4)}
.home-rf{--acc:var(--cyan)}
.home-rf .panel__head{margin-bottom:var(--s-3)}
.home-rf__name{font-size:clamp(30px,3.6vw,44px);letter-spacing:.06em;color:var(--acc);text-shadow:0 0 22px color-mix(in srgb,var(--acc) 45%,transparent)}
.home-rf__list{display:grid;gap:var(--s-4)}
.home-rf__list>div{display:grid;gap:4px;padding-left:14px;border-left:2px solid color-mix(in srgb,var(--acc) 55%,transparent)}
.home-rf__list dt{font-family:var(--f-disp);font-weight:700;font-size:18px;letter-spacing:.04em;display:flex;align-items:baseline;gap:10px}
.home-rf__list dt span{font-family:var(--f-mono);font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3);min-width:72px}
.home-rf__list dd{color:var(--text-2);font-size:15px}
@media (prefers-reduced-motion:no-preference){
  .home-rf.is-shown{animation:home-swap .55s var(--ease-out) both}
  .home-rf.is-shown .home-rf__list>div{animation:home-rise .6s var(--ease-out) both}
  .home-rf.is-shown .home-rf__list>div:nth-child(2){animation-delay:.07s}
  .home-rf.is-shown .home-rf__list>div:nth-child(3){animation-delay:.14s}
}
@keyframes home-swap{from{opacity:0;transform:translateX(26px) skewX(-4deg)}to{opacity:1;transform:none}}

/* ───────── Traversées (portails entre chapitres) ───────── */
.home-gate{position:relative;height:150vh;z-index:1;pointer-events:none}
.home-gate__sticky{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden}
.home-gate__ring{position:relative;width:min(44vmin,340px);aspect-ratio:.78;border-radius:50%;
  transform:scale(calc(.45 + var(--k,0)*var(--k,0)*6));opacity:calc(1 - max(0,var(--k,0) - .72)*3.6);will-change:transform,opacity;
  box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 5px rgba(34,211,255,.7),0 0 0 8px rgba(241,63,240,.55),0 0 40px 10px rgba(34,211,255,.35),0 0 90px 30px rgba(241,63,240,.22),inset 0 0 50px 12px rgba(4,5,11,.9)}
.home-gate__ring img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:.85;filter:saturate(1.2)}
.home-gate__ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(closest-side,transparent 40%,rgba(10,4,30,.55) 85%,rgba(241,63,240,.35));mix-blend-mode:screen}
.home-gate__label{position:absolute;left:50%;top:calc(50% + min(28vmin,230px));transform:translateX(-50%);display:grid;justify-items:center;gap:4px;font-family:var(--f-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;opacity:calc(1 - var(--k,0)*3)}
.home-gate__label b{font-family:var(--f-disp);font-size:clamp(22px,3vw,34px);letter-spacing:.14em;color:var(--text)}
.home-gate--live .home-gate__ring{box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 0 5px rgba(241,63,240,.7),0 0 0 8px rgba(255,45,111,.55),0 0 40px 10px rgba(241,63,240,.35),0 0 90px 30px rgba(34,211,255,.2),inset 0 0 50px 12px rgba(4,5,11,.9)}
@media (max-width:719px){.home-gate{height:130vh}}
@media (prefers-reduced-motion:reduce){.home-gate{display:none}}

/* ───────── Arènes : galerie ───────── */
.home-gallery{margin-top:clamp(40px,6vw,72px)}
.home-gallery__bar{margin-bottom:var(--s-4)}
.home-gallery__nav{gap:8px}
.home-gallery__nav .btn{padding:0 14px}
.home-flip svg,svg.home-flip{transform:scaleX(-1)}
.home-gallery__track{list-style:none;padding:4px 0 18px;display:grid;grid-auto-flow:column;grid-auto-columns:min(84vw,760px);gap:var(--s-4);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--metal-3) transparent}
.home-gallery__track>li{scroll-snap-align:start}
.home-gallery__track:focus-visible{outline-offset:6px}
.home-gallery__track .shot{transition:transform var(--t-med) var(--ease-out),opacity var(--t-med)}
@media (prefers-reduced-motion:reduce){.home-gallery__track{scroll-behavior:auto}}

/* ───────── Arsenal ───────── */
.home-guns{list-style:none;padding:0}
.home-gun{display:grid;gap:var(--s-3)}
.home-gun__name{font-size:clamp(24px,2.4vw,30px);letter-spacing:.06em}
.home-gun__bars{display:grid;gap:10px}
.home-gun__bars>div{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:baseline}
.home-gun__bars dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.home-gun__bars dd{font-family:var(--f-mono);font-size:13px;color:var(--text);text-align:right}
.home-gun__bars .meter{grid-column:1/-1}
.home-gun__foot{font-family:var(--f-mono);font-size:12px;color:var(--text-2);border-top:1px solid var(--line);padding-top:var(--s-3)}
.js .home-gun:not(.is-in) .meter__fill{transform:scaleX(0)}
.home-gun .meter__fill{transition-delay:calc(var(--i,0)*70ms + .25s)}
.home-armory{margin-top:clamp(40px,6vw,72px)}
.home-slots{margin-top:var(--s-5)}
.home-slots__list{list-style:none;padding:0;counter-reset:slot;display:grid;gap:var(--s-3) var(--s-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.home-slots__list li{counter-increment:slot;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:baseline}
.home-slots__list li::before{content:counter(slot,decimal-leading-zero);grid-row:span 2;font-family:var(--f-mono);font-size:12px;color:var(--pink)}
.home-slots__list b{font-family:var(--f-disp);letter-spacing:.08em;text-transform:uppercase;font-size:15px}
.home-slots__list span{color:var(--text-2);font-size:14px}

/* ───────── Serveurs ───────── */
.home-livebar{margin-bottom:var(--s-5);padding:10px 0;border-block:1px solid var(--line)}
.home-livebar__sum{font-family:var(--f-mono);font-size:13px;color:var(--text-2);display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px}
.home-livebar__sum b{color:var(--text)}
.home-srv{display:grid;gap:var(--s-3)}
.home-srv__top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}
.home-srv__name{font-family:var(--f-disp);font-weight:700;font-size:20px;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-srv__addr{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.home-srv__foot{display:flex;justify-content:space-between;gap:var(--s-3);font-family:var(--f-mono);font-size:12px;color:var(--text-2)}
.home-srv__foot b{color:var(--text)}
.home-srv.is-full::before{background:linear-gradient(135deg,rgba(255,45,111,.75),rgba(132,156,220,.14) 35%,rgba(241,63,240,.5))}

/* ───────── Classement ───────── */
.home-podium{list-style:none;padding:0;display:grid;gap:var(--s-4);margin-bottom:clamp(32px,5vw,48px)}
.home-pod{--cut:18px;position:relative;isolation:isolate;display:grid;justify-items:center;gap:6px;padding:28px 20px 24px;text-align:center;text-decoration:none;background:var(--grad-panel);clip-path:polygon(var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut));transition:transform var(--t-med) var(--ease-out)}
.home-pod::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(34,211,255,.55),var(--line) 35%,var(--line) 65%,rgba(132,156,220,.3));
  clip-path:polygon(evenodd,0 var(--cut),var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%,0 var(--cut),1px calc(var(--cut) + .4px),1px calc(100% - 1px),calc(100% - var(--cut) - .4px) calc(100% - 1px),calc(100% - 1px) calc(100% - var(--cut) - .4px),calc(100% - 1px) 1px,calc(var(--cut) + .4px) 1px,1px calc(var(--cut) + .4px))}
.home-pod:hover{transform:translateY(-4px)}
.home-pod--1::before{background:linear-gradient(160deg,rgba(255,45,111,.85),rgba(241,63,240,.3) 40%,var(--line) 70%,rgba(34,211,255,.5))}
.home-pod--1{background:radial-gradient(120% 70% at 50% 0%,rgba(255,45,111,.16),transparent 60%),var(--grad-panel)}
.home-pod__ring{--size:58px;display:grid;place-items:center;margin-bottom:6px}
.home-pod--1 .home-pod__ring{--size:76px}
.home-pod__ring b{position:relative;font-family:var(--f-disp);font-size:calc(var(--size)*.36);color:var(--text);text-transform:uppercase}
.home-pod__rank{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;color:var(--text-3)}
.home-pod--1 .home-pod__rank{color:var(--pink)}
.home-pod__name{font-family:var(--f-disp);font-weight:700;font-size:clamp(20px,2.2vw,26px);letter-spacing:.04em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-pod__kd{font-family:var(--f-disp);font-weight:700;font-size:clamp(34px,4vw,48px);line-height:1;font-variant-numeric:tabular-nums}
.home-pod--1 .home-pod__kd{font-size:clamp(42px,5vw,60px)}
.home-pod__kd small{display:block;margin-top:4px;font-family:var(--f-mono);font-size:11px;font-weight:400;letter-spacing:.16em;color:var(--text-3)}
.home-pod__line{font-family:var(--f-mono);font-size:12px;color:var(--text-2)}
@media (min-width:760px){
  .home-podium{grid-template-columns:1fr 1.15fr 1fr;align-items:end}
  .home-podium>li:nth-child(1){order:2}.home-podium>li:nth-child(2){order:1}.home-podium>li:nth-child(3){order:3}
  .home-pod--1{padding-block:40px 30px}
}
.home-lbtools{display:grid;gap:8px;margin-bottom:var(--s-4);max-width:560px}
.home-lb td.strong a{display:inline-block;min-height:24px}
.home-lb .home-lb__me{color:var(--pink)}
.home-lb tbody tr{animation:none}
@media (prefers-reduced-motion:no-preference){.home-lb tbody tr.is-hit td{animation:home-hit .9s var(--ease-out)}}
@keyframes home-hit{from{background:rgba(255,45,111,.28)}}

/* ───────── Journal (timeline) ───────── */
.home-log{list-style:none;padding:0;position:relative;display:grid;gap:var(--s-6)}
.home-log::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--cyan),var(--mag) 60%,transparent);opacity:.55}
.home-log__day{position:relative;padding-left:32px;display:grid;gap:var(--s-3)}
.home-log__day::before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;background:var(--void);border:2px solid var(--cyan);transform:rotate(45deg);box-shadow:0 0 12px rgba(34,211,255,.6)}
.home-log__date{font-family:var(--f-disp);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.home-log__items{list-style:none;padding:0;display:grid;gap:10px}
.home-log__item{--cut:10px;position:relative;padding:14px 16px;background:linear-gradient(90deg,rgba(21,27,45,.8),rgba(10,13,22,.5));border-left:2px solid var(--line-2);transition:border-color var(--t-fast),transform var(--t-med) var(--ease-out)}
.home-log__item:hover{border-left-color:var(--mag);transform:translateX(4px)}
.home-log__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.home-log__item p{font-size:15px;line-height:1.5;color:var(--text)}

/* ───────── Franchis la faille ───────── */
.home-play{padding-top:0}
.home-play__stage{min-height:min(88vh,820px);display:grid;place-items:center;background-color:transparent;
  -webkit-mask-image:linear-gradient(transparent,#000 14%,#000 80%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 80%,transparent)}
.home-play__head{display:grid;justify-items:center;gap:var(--s-4);max-width:720px}
.home-play__title{font-size:clamp(44px,8.6vw,112px);line-height:.95;letter-spacing:.01em;filter:drop-shadow(0 0 30px rgba(241,63,240,.35))}
.home-play__head .lead{color:var(--text);margin-inline:auto}
.home-play__head a{color:var(--text-2)}
.home-play__body{grid-template-columns:minmax(0,1fr);margin-top:calc(-1*clamp(40px,8vw,110px));position:relative;z-index:2;display:grid;gap:var(--s-5)}
.home-play__note{display:flex;gap:12px;align-items:center;color:var(--warn);font-size:15px}
.home-play__note svg{width:22px;height:22px;flex:none}
.home-dl__card{display:grid;gap:var(--s-3);align-content:start;padding:28px 24px 24px}
.home-dl__icon svg,svg.home-dl__icon{width:40px;height:40px;color:var(--cyan)}
.home-dl__os{font-size:var(--fs-3);letter-spacing:.06em}
.home-dl__file{font-family:var(--f-mono);font-size:12.5px;color:var(--text-3);margin-bottom:var(--s-2)}
.home-dl__card .btn{white-space:normal;text-align:center;line-height:1.2;padding-block:10px}
.home-dl__card.is-detected{background:radial-gradient(110% 80% at 50% 0%,rgba(255,45,111,.16),transparent 60%),var(--grad-panel)}
.home-dl__card.is-detected .home-dl__icon svg,.home-dl__card.is-detected svg.home-dl__icon{color:var(--pink)}

.home-req__grid{display:grid;gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.home-req__grid dt{font-family:var(--f-disp);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:14px;margin-bottom:4px}
.home-req__grid dd{color:var(--text-2);font-size:14.5px}

/* ───────── Entrées animées (mouvement autorisé seulement) ───────── */
@media (prefers-reduced-motion:no-preference){
  .js .home-hero__title{animation:home-emerge 1.7s var(--ease-out) .1s backwards}
  .js .home-hero__kicker{animation:home-rise .9s var(--ease-out) .55s both}
  .js .home-hero__sub{animation:home-rise .9s var(--ease-out) .75s both}
  .js .home-hero__cta{animation:home-rise .9s var(--ease-out) .9s both}
  .js .home-meta{animation:home-rise .9s var(--ease-out) 1.05s both}
  .js .home-hud{animation:home-fade 1.4s var(--ease-out) 1.1s backwards}
  .home-cue i{animation:home-drop 2.2s var(--ease-io) infinite}
}
@keyframes home-emerge{0%{opacity:0;transform:scale(.3)}35%{opacity:1}100%{opacity:1;transform:none}}
@keyframes home-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes home-fade{from{opacity:0}}
@keyframes home-drop{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.home-log__meta .tag{white-space:normal}
.home-srv-grid>.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.home-dl__card{position:relative}
.home-dl__badge{position:absolute;top:22px;right:20px}
@media (max-width:759px){
  .home-meta{flex-direction:column;align-items:center;gap:2px}
  .home-meta li+li::before{display:none}
  .home-podium{gap:10px}
  .home-pod{grid-template-columns:auto 1fr auto;grid-template-areas:"ring rank kd" "ring name kd" "ring line kd";justify-items:start;align-items:center;column-gap:14px;row-gap:2px;padding:14px 16px;text-align:left}
  .home-pod--1{padding-block:18px}
  .home-pod__ring{grid-area:ring;margin:0}
  .home-pod__rank{grid-area:rank}.home-pod__name{grid-area:name}.home-pod__line{grid-area:line}
  .home-pod__kd{grid-area:kd;justify-self:end;text-align:right;font-size:30px}
  .home-pod--1 .home-pod__kd{font-size:36px}
  .home-pod--1 .home-pod__ring{--size:60px}
}
@media (max-width:719px){.home-play__stage{min-height:68vh;min-height:68svh}}
@media (prefers-reduced-motion:reduce){.home-cue{display:none}}
/* ───────── Revue : lisibilité sur portail, badges, mobile ───────── */
.home-play__chip{padding:6px 12px;background:rgba(4,5,11,.82);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.home-play__head .lead{text-shadow:0 1px 14px rgba(4,5,11,.95)}
.home-badge--pink{background:var(--pink);border-color:var(--pink);color:#fff}
.home-gate__label{color:var(--text-2);opacity:calc(1 - var(--k,0)*2.2);text-shadow:0 0 18px rgba(4,5,11,1)}
.home-gate__label b{text-shadow:0 0 22px rgba(34,211,255,.55)}
.home-gate--live .home-gate__label b{text-shadow:0 0 22px rgba(241,63,240,.55)}
@media (max-width:479px){.home-lb th:nth-child(6),.home-lb td:nth-child(6){display:none}.home-lb th,.home-lb td{padding-inline:10px}}
