/* NOLIFER homepage (2a Arena): jen to, co style.css nemá.
   Sekce hero/ticker/worlds/nums/rates/promises/latest jsou v style.css (sekce 8 a 9);
   tady je hero <picture>, karty světů jako odkazy, komunita a drobnosti. */

/* hero: <picture> obal nesmí rozbít absolutní <img class="hero-art"> */
.hero-pic{display:contents}
.hero-label.is-down{color:var(--danger);border-color:var(--danger-frame)}
.hero-label.is-down .dot{background:var(--danger);animation:none}
.hero-right .btn-white .size:empty{display:none}

/* ticker: při omezeném pohybu statický seznam s vodorovným posuvem */
@media (prefers-reduced-motion: reduce){
  .ticker-vp{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  .ticker-vp::-webkit-scrollbar{display:none}
  .ticker-track{width:max-content;transform:none}
}

/* karty světů: div[role=button] s vnořeným odkazem Vstoupit, ohlášený svět = odkaz na novinky */
.wcard{-webkit-user-select:none;user-select:none}
.wcard.is-link,.wcard.is-link:hover{text-decoration:none;color:var(--fg)}
.wcard .enter{display:inline-block;text-decoration:none;color:var(--ink);white-space:nowrap;transition:transform .2s,box-shadow .2s}
.wcard .enter:hover{color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 22px var(--glow-soft)}
.wcard .online i{display:inline-block;width:24px;height:4px;border-radius:2px;background:var(--accent);vertical-align:middle;margin-right:2px}
.wcard[data-status="announced"] .status .dot,.wcard[data-status="down"] .status .dot{animation:none}
.wcard[data-status="down"] .status{color:var(--danger)}
.wcard[data-status="down"] .status .dot{background:var(--danger)}
.wcard .pic{display:contents}

/* novinky: prázdný stav nesmí rozhodit mřížku */
.latest-grid .empty{grid-column:1 / -1;padding:36px 20px;border:1px dashed var(--line-08);border-radius:var(--r-card);text-align:center;color:var(--muted)}
.poster .body b{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}

/* komunita: kompaktní pás, Discord / Fórum (skryté do GO) / Hlasování */
.community{padding:0 var(--gx) 72px}
.community-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:24px}
.community-head h2{margin:0;font:800 2rem var(--font-display);letter-spacing:-.02em}
.community-head .kicker{font:500 .74rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.community-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.comm{position:relative;display:flex;align-items:center;gap:16px;padding:22px 24px;border-radius:var(--r-card);
  background:var(--panel);border:1px solid var(--line);color:var(--fg);transition:transform .3s,border-color .3s}
.comm:hover{transform:translateY(-4px);border-color:var(--accent);color:var(--fg)}
.comm[hidden]{display:none}
.comm .ico{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--glass-06);color:var(--accent)}
.comm .ico svg{width:20px;height:20px;fill:currentColor}
.comm .t{min-width:0}
.comm .t b{display:block;font-size:1.02rem}
.comm .t span{display:block;margin-top:3px;font-size:.86rem;color:var(--muted)}
.comm .arrow{margin-left:auto;font:700 1.1rem var(--font-display);color:var(--muted);transition:color .2s,transform .2s}
.comm:hover .arrow{color:var(--accent);transform:translateX(4px)}
.comm.discord .ico{color:#8b9cff}

@media (max-width:720px){
  .community{padding:0 var(--gx) 56px}
  .community-head{flex-direction:column;align-items:flex-start;gap:8px}
  .community-head h2{font-size:1.7rem}
  .comm{padding:18px 20px}
}
@media (max-width:560px){
  .hero-content{bottom:88px}
  .hero-right{width:100%}
  .hero-right .btn-white{width:100%;justify-content:center}
  .wcard .row{flex-wrap:wrap;gap:12px}
}

/* odpočet nového startu (Dynamic): pás pod hero, akcent třetího světa */
.launch{padding:40px var(--gx) 0}
.launch-in{--accent:var(--w-next);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:28px 32px;
  border:1px solid var(--line-08);border-radius:var(--r-card);background:linear-gradient(135deg,var(--panel),rgba(255,255,255,.02))}
.launch-text{flex:1 1 360px;min-width:0}
.launch-kicker{display:inline-flex;align-items:center;gap:10px;font:500 .74rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.launch-kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
.launch-h2{margin:10px 0 0;font:800 clamp(1.5rem,2.6vw,2.1rem)/1.15 var(--font-display);letter-spacing:-.02em;text-wrap:balance}
.launch-p{margin:10px 0 0;max-width:560px;color:var(--fg2);font-size:.98rem}
.launch-local{margin:6px 0 0;font:500 .8rem var(--font-mono);color:var(--muted)}
.launch-poll{margin-top:16px;display:inline-flex;text-decoration:none}
.launch-cd{display:flex;gap:10px;flex:none}
.cdu{min-width:92px;padding:14px 12px;text-align:center;border-radius:12px;background:var(--glass-06);border:1px solid var(--line)}
.cdu .v{display:block;font:900 2.6rem/1 var(--font-display);letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums}
.cdu:first-child .v{color:var(--accent)}
.cdu .k{display:block;margin-top:8px;font:500 .68rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.launch-live{font:800 1.6rem var(--font-display);color:var(--ok)}
.launch [hidden]{display:none}
@media (max-width:720px){
  .launch{padding-top:28px}
  .launch-in{padding:22px 20px}
  .launch-cd{width:100%;justify-content:space-between}
  .cdu{min-width:0;flex:1;padding:12px 6px}
  .cdu .v{font-size:2rem}
}
