/* Theme default - hub.css: player hub tiles and numbered steps. */
.hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr)); gap: 0.9rem; }
.tile {
  display: flex;
  gap: 0.9rem;
  align-items: flex-start;
  padding: 1.05rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: var(--r-m);
  background: linear-gradient(180deg, rgb(var(--raise-rgb) / 0.55), rgb(var(--surface-rgb) / 0.55));
  text-decoration: none;
  transition: transform 0.3s, border-color 0.3s, background 0.3s;
}
.tile:hover { transform: translateY(-3px); border-color: var(--line-strong); background: linear-gradient(180deg, rgb(var(--raise-rgb) / 0.6), rgb(var(--raise-rgb) / 0.6)); }
.tile .ico { font-size: 1.5rem; line-height: 1; flex: none; }
.tile b { display: block; font-size: 0.98rem; margin-bottom: 0.15rem; }
.tile span { font-size: 0.85rem; color: var(--muted); line-height: 1.5; }
.tile .ext { color: var(--dim); font-size: 0.75rem; }

.steps { counter-reset: step; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.step { position: relative; padding: 1.3rem 1.25rem 1.25rem; border: 1px solid var(--line); border-radius: var(--r-m); background: rgb(var(--surface-rgb) / 0.5); }
.step::before {
  counter-increment: step;
  content: counter(step, decimal-leading-zero);
  font-family: var(--mono);
  font-size: 0.78rem;
  letter-spacing: 0.15em;
  color: var(--cyan);
  display: block;
  margin-bottom: 0.65rem;
}
.step h3 { font-size: 1.02rem; }
.step p { margin: 0; color: var(--muted); font-size: 0.93rem; }
