
.story-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:1.2rem;
  align-items:stretch;
  margin-top:2rem;
}
.lore-terminal{
  padding:1.2rem;
  min-height:100%;
  background:#050711;
}
.terminal-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  padding-bottom:.9rem;
  margin-bottom:1rem;
  color:var(--muted);
  font-family:var(--font-en);
  direction:ltr;
}
.terminal-dots{
  display:flex;
  gap:.35rem;
}
.terminal-dots i{
  width:.7rem;
  height:.7rem;
  border-radius:50%;
  background:var(--muted-2);
}
.terminal-dots i:nth-child(1){background:var(--danger)}
.terminal-dots i:nth-child(2){background:var(--gold)}
.terminal-dots i:nth-child(3){background:var(--primary)}
.terminal-lines{
  display:grid;
  gap:.8rem;
  color:#CBD5E1;
  font-family:var(--font-en);
  direction:ltr;
  font-size:.95rem;
}
.terminal-lines span{
  display:block;
  color:var(--primary);
}
.story-copy{
  padding:1.4rem;
}
.story-copy p{
  margin:0 0 1rem;
  color:#CBD5E1;
}
.story-copy strong{color:#fff}
.story-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1.2rem;
}
.badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.4rem .75rem;
  color:#CBD5E1;
  background:rgba(15,23,42,.54);
  font-size:.9rem;
}

.mint-panel{
  display:grid;
  grid-template-columns:1fr .86fr;
  gap:1.2rem;
  margin-top:2rem;
}
.mint-card{
  padding:1.4rem;
}
.mint-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.2rem;
}
.status-pill{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.42rem .7rem;
  border-radius:999px;
  color:var(--primary);
  border:1px solid var(--line-strong);
  background:rgba(57,245,200,.08);
  font-size:.85rem;
  font-weight:800;
}
.status-pill::before{
  content:"";
  width:.5rem;
  height:.5rem;
  border-radius:50%;
  background:currentColor;
  box-shadow:0 0 15px currentColor;
}
.mint-count{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.7rem;
  margin:1rem 0;
}
.count-box{
  border:1px solid var(--line);
  border-radius:1.1rem;
  padding:.9rem .7rem;
  text-align:center;
  background:rgba(15,23,42,.58);
}
.count-box strong{
  display:block;
  font-size:1.8rem;
  font-family:var(--font-en);
  color:#fff;
}
.count-box span{font-size:.78rem;color:var(--muted)}
.progress{
  height:1rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#050711;
  overflow:hidden;
  margin:1rem 0 .6rem;
}
.progress__bar{
  height:100%;
  width:0;
  background:linear-gradient(90deg, var(--primary), var(--violet), var(--orange));
  box-shadow:0 0 30px rgba(57,245,200,.25);
  transition:width 1s ease;
}
.mint-actions{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
  margin-top:1.2rem;
}
.price-grid{
  display:grid;
  gap:.85rem;
}
.price-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  border:1px solid var(--line);
  border-radius:1.15rem;
  padding:1rem;
  background:rgba(15,23,42,.54);
}
.price-row span{color:var(--muted)}
.price-row strong{font-family:var(--font-en);direction:ltr}
.notice{
  margin-top:1rem;
  padding:1rem;
  border-radius:1.1rem;
  border:1px dashed rgba(249,115,22,.38);
  color:#FED7AA;
  background:rgba(249,115,22,.08);
  font-size:.93rem;
}

.gallery{
  margin-top:2rem;
}
.wraith-card{
  padding:1rem;
}
.wraith-card__image{
  border:1px solid var(--line);
  border-radius:1.2rem;
  background:#050711;
  overflow:hidden;
}
.wraith-card__body{
  padding:.9rem .15rem 0;
}
.wraith-card__body h3{
  margin:.2rem 0 .2rem;
  font-family:var(--font-en);
  direction:ltr;
}
.wraith-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--muted);
  font-size:.85rem;
}
.rarity{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.2rem;
  margin-top:2rem;
}
.rarity-list{
  padding:1.2rem;
}
.rarity-item{
  display:grid;
  grid-template-columns:88px 1fr 58px;
  align-items:center;
  gap:.8rem;
  margin:.95rem 0;
}
.rarity-item span{color:#CBD5E1}
.rarity-track{
  height:.72rem;
  border-radius:999px;
  background:#050711;
  border:1px solid var(--line);
  overflow:hidden;
}
.rarity-fill{
  height:100%;
  width:var(--w);
  background:linear-gradient(90deg, var(--primary), var(--violet));
}
.traits-card{
  padding:1.2rem;
}
.traits-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1rem;
}
.traits-cloud span{
  border:1px solid var(--line);
  border-radius:999px;
  padding:.45rem .7rem;
  background:rgba(15,23,42,.58);
  color:#CBD5E1;
  font-size:.9rem;
}

.factions{
  margin-top:2rem;
}
.faction-card{
  padding:1.35rem;
}
.faction-card__icon{
  width:58px;
  height:58px;
  border-radius:1.2rem;
  display:grid;
  place-items:center;
  color:#020617;
  background:linear-gradient(135deg, var(--primary), var(--violet));
  font-family:var(--font-en);
  font-weight:900;
  margin-bottom:1rem;
}
.faction-card h3{
  margin:.2rem 0 .55rem;
  font-size:1.2rem;
}
.faction-card p{
  margin:0;
  color:var(--muted);
  font-size:.96rem;
}
.faction-card ul{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1rem;
}
.faction-card li{
  font-size:.78rem;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.3rem .55rem;
  color:#CBD5E1;
}
.utility-card{
  padding:1.25rem;
}
.utility-card__num{
  font-family:var(--font-en);
  color:var(--primary);
  font-weight:900;
  font-size:.9rem;
}
.utility-card h3{margin:.5rem 0 .4rem}
.utility-card p{margin:0;color:var(--muted);font-size:.95rem}

.roadmap{
  position:relative;
  margin-top:2rem;
  display:grid;
  gap:1rem;
}
.roadmap::before{
  content:"";
  position:absolute;
  inset-block:1.5rem;
  inset-inline-start:calc(50% - 1px);
  width:2px;
  background:linear-gradient(var(--primary), var(--violet), var(--orange));
  opacity:.35;
}
.roadmap-item{
  position:relative;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:center;
}
.roadmap-item:nth-child(even) .roadmap-card{grid-column:2}
.roadmap-item:nth-child(odd) .roadmap-card{grid-column:1}
.roadmap-card{
  padding:1.25rem;
}
.roadmap-card strong{
  color:var(--primary);
  font-family:var(--font-en);
}
.roadmap-card h3{margin:.35rem 0 .45rem}
.roadmap-card p{margin:0;color:var(--muted)}
.roadmap-dot{
  position:absolute;
  inset-inline-start:calc(50% - .55rem);
  width:1.1rem;
  height:1.1rem;
  border-radius:.25rem;
  background:var(--primary);
  box-shadow:0 0 24px var(--primary);
}

.allowlist-layout{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:1.2rem;
  margin-top:2rem;
}
.score-card{
  padding:1.2rem;
}
.score-table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius:1rem;
}
.score-table th,
.score-table td{
  border-bottom:1px solid var(--line);
  padding:.75rem .6rem;
  text-align:right;
}
.score-table th{
  color:#fff;
  font-size:.9rem;
  background:rgba(15,23,42,.78);
}
.score-table td{
  color:#CBD5E1;
  font-size:.92rem;
}
.score-table tr:last-child td{border-bottom:0}
.mission-card{
  padding:1.2rem;
}
.mission-card ol{
  margin:1rem 0 0;
  padding-inline-start:1.3rem;
  color:#CBD5E1;
}
.mission-card li{list-style:decimal;margin:.5rem 0}

.faq{
  margin-top:2rem;
  display:grid;
  gap:.8rem;
}
.faq-item{
  border:1px solid var(--line);
  border-radius:1.2rem;
  background:rgba(11,17,32,.72);
  overflow:hidden;
}
.faq-question{
  width:100%;
  border:0;
  padding:1rem 1.1rem;
  background:transparent;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:right;
  font-weight:900;
}
.faq-question::after{
  content:"+";
  font-family:var(--font-en);
  color:var(--primary);
  font-size:1.3rem;
}
.faq-item.is-open .faq-question::after{content:"–"}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}
.faq-answer p{
  margin:0;
  padding:0 1.1rem 1.1rem;
  color:var(--muted);
}
.site-footer{
  border-top:1px solid var(--line);
  background:rgba(5,7,17,.78);
  padding:2rem 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:1.2rem;
}
.footer-grid p{color:var(--muted);margin:.8rem 0 0}
.footer-links{
  display:grid;
  gap:.45rem;
}
.footer-links a{color:#CBD5E1}
.footer-links a:hover{color:var(--primary)}
.footer-title{
  margin:0 0 .8rem;
  color:#fff;
  font-size:1rem;
}
